如何远程调试发布的代码

合集下载

本地使用IDEA调试远程部署的程序代码

本地使用IDEA调试远程部署的程序代码

本地使⽤IDEA调试远程部署的程序代码⽇常开发⼯作中经常会出现代码本地运⾏⽆问题,但部署到服务器中功能⽆法正常使⽤。

本篇博客介绍如何使⽤IDEA像调试本地代码⼀样,调试远端代码。

服务端⼝:远端部署的应⽤对外开放的访问端⼝。

调试端⼝:远端部署的应⽤额外开启的对外调试端⼝。

当远端服务被调⽤时,触发本地IDEA上的调试断点,⽤于调试远程服务器上部署的应⽤程序。

实现步骤1. 创建springboot⼯程,并指定服务端⼝。

(当然也可以不指定,默认8080)application.propertiesserver.port=180802. 配置本地IDEA远程连接。

Name:远程连接名称,任意写。

Host:远程主机。

(服务部署服务器)Port:调试端⼝Command line arguments for remote JVM:填写好主机、端⼝信息后,IDEA会⾃动⽣成命令⾏,⽤于远端服务启动参数。

3. 打包应⽤,并将Jar包上传⾄服务器。

4. 启动服务。

java -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8088 -jar remote-debug-demo-0.0.1-SNAPSHOT.jar服务器启动⽇志:[root@iZf8ozvj95ui19Z code]# java -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8088 -jar remote-debug-demo-0.0.1-SNAPSHOT.jarListening for transport dt_socket at address: 8088. ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v2.3.1.RELEASE)2020-06-23 20:14:16.975 INFO 3206 --- [ main] com.ari.RemoteDebugDemoApplication : Starting RemoteDebugDemoApplication v0.0.1-SNAPSHOT on iZf8ozvj95ui19Z with PID 3206 (/usr/code/remote-debug-demo-0.0.1 2020-06-23 20:14:16.980 INFO 3206 --- [ main] com.ari.RemoteDebugDemoApplication : No active profile set, falling back to default profiles: default2020-06-23 20:14:20.567 INFO 3206 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 18080 (http)2020-06-23 20:14:20.630 INFO 3206 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2020-06-23 20:14:20.631 INFO 3206 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.36]2020-06-23 20:14:21.020 INFO 3206 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2020-06-23 20:14:21.020 INFO 3206 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3904 ms2020-06-23 20:14:22.194 INFO 3206 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'2020-06-23 20:14:23.003 INFO 3206 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 18080 (http) with context path ''2020-06-23 20:14:23.041 INFO 3206 --- [ main] com.ari.RemoteDebugDemoApplication : Started RemoteDebugDemoApplication in 7.484 seconds (JVM running for 8.882)2020-06-23 20:17:25.379 INFO 3206 --- [io-18080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'2020-06-23 20:17:25.379 INFO 3206 --- [io-18080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'2020-06-23 20:17:25.415 INFO 3206 --- [io-18080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 36 msListening for transport dt_socket at address:8088 调试端⼝:8088Tomcat started on port(s): 18080 (http) with context path '' 服务端⼝:180805. 启动本地远程连接,控制台提⽰”成功连接到远程调试端⼝“Connected to the target VM, address: '118.190.209.24:8088', transport: 'socket'6. 本地打断点并重新访问远端服务,本地成功进⼊DEBUG原视频链接:。

python 远程执行方法

python 远程执行方法

python 远程执行方法
Python有几种远程执行的方法,可以根据具体的需求和场景选择合适的方法。

以下是一些常见的远程执行Python代码的方法:
1. SSH远程执行,通过SSH协议连接到远程主机,并在远程主机上执行Python代码。

可以使用paramiko库来实现SSH远程执行Python代码,也可以使用Fabric等工具来简化远程执行的过程。

2. 使用RPC框架,可以使用像Pyro4、XML-RPC或gRPC这样的远程过程调用框架,在远程主机上启动一个Python服务,然后在本地通过网络调用远程主机上的Python函数或方法。

3. 使用消息队列,通过消息队列(如RabbitMQ、ZeroMQ或Kafka)来实现远程执行Python代码。

可以将要执行的Python代码作为消息发送到远程主机,然后在远程主机上执行并返回结果。

4. 使用Web服务,可以在远程主机上搭建一个基于HTTP或其他协议的Web服务,然后通过HTTP请求将要执行的Python代码发送到远程主机,得到执行结果后再返回给本地。

5. 使用分布式计算框架,像Apache Spark、Dask或PyTorch 这样的分布式计算框架可以用来在集群上执行Python代码,可以将要执行的代码提交到集群上进行分布式计算。

以上是一些常见的远程执行Python代码的方法,每种方法都有其适用的场景和优缺点,可以根据具体的需求选择合适的方法来实现远程执行。

VSCode远程开发调试服务器cc++代码

VSCode远程开发调试服务器cc++代码

VSCode远程开发调试服务器cc++代码思路与上篇(PyCharm远程调试服务器python代码)是⼀致的,所以端⼝转发这部分直接照抄上篇:⼀、端⼝转发对于没有公⽹IP的远程训练服务器,需要先配置端⼝转发,可以⽤ssh借道有办公⽹IP的办公机器。

0、公司给配置了⼀台Ubuntu系统的台式机器A,开发时想⽤Windows笔记本B,把远程CentOS训练服务器记为C。

1、⾸先需要修改台式机A上的ssh配置⽂件,如果不修改配置的话,将只有机器A可以访问训练服务器C。

$ sudo vim /etc/ssh/sshd_config添加:GatewayPorts yesPasswordAuthentication yes然后重启机器A的sshd服务使上述配置⽣效。

$ sudo systemctl restart sshd2、在训练服务器C上向机器A主动建⽴SSH连接,转发训练服务器C的22号端⼝3、⽤ssh命令转发端⼝,ssh -NTf -R 转发端⼝号:localhost:22 机器A的⽤户名@机器A的IP$ ssh -NTf -R 2333:127.0.0.1:22 zhuangweiji@10.220.12*.25*输⼊密码后就在后台运⾏了4、验证,在机器B上$ ssh zhuangweiji@10.220.12*.25*登陆上的话就证明ssh隧道建⽴成功了5、理论上,A和B可以是同⼀台机器,也就是C可以直接把端⼝转发给有pycharm的开发机器。

不过由于我的开发机上下班会带着移动,移动过程中SSH不能保持连接,经常要重新配置IP,所以选择了⽤办公室的台式机中转。

⼆、免密登录0、端⼝转发完成后,在windows机器B上,本地cmd窗⼝⽣成公钥和密钥(密钥默认放在C:\Users\⽤户名\.ssh下)ssh-keygen -t rsa -b 40961、把公钥添加到A机器的公钥集,法1:将公钥id_rsa.pub复制到机器A的~/.ssh⽂件夹下,重命名为id_rsa_x260.pub(我的机器是x260),并将其追加到A机器的公钥集⾥cat id_rsa_x260.pub >> authorized_keys2、把公钥添加到A机器的公钥集,法2:ssh-copy-id username@10.221.*.*会⾃动把公钥append到A机器的$HOME/.ssh/authorized_keys⾥三、安装 OpenSSH0、Windows 10 机器上需要安装 OpenSSH,管理员⾝份打开 PowerShellGet-WindowsCapability -Online | ? Name -like 'OpenSSH*'Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0四、远程开发调试0、打开 VSCode,添加插件 Remote Development,会⾃动安装 Remote-Container, Remote-SSH 及 Remote-WSL 全家桶,也可以只安装Remote-SSH。

使用Docker实现远程调试与开发的方法

使用Docker实现远程调试与开发的方法

使用Docker实现远程调试与开发的方法远程调试和开发是现代软件开发领域中不可或缺的一部分。

它可以帮助开发人员在不同的环境中进行调试和开发,提高开发效率和代码质量。

在过去,远程调试和开发需要配置复杂的开发环境和网络设置,但是随着Docker的出现,这一切变得更加简单和灵活。

使用Docker进行远程调试和开发有以下几个步骤:第一步,准备Docker镜像。

Docker镜像是使用Docker构建的软件的打包环境。

我们可以将所需的调试工具和开发环境配置打包成一个Docker镜像,使得远程调试和开发时能够使用相同的环境。

在构建Docker镜像时,我们可以使用Dockerfile 指定所需的软件和配置,例如安装特定的编程语言和开发工具。

第二步,启动Docker容器。

当Docker镜像准备好后,我们可以使用docker命令启动一个Docker容器。

容器是在Docker镜像的基础上运行的实例,其中包含了镜像的所有配置和软件。

在启动Docker容器时,我们可以将本地的代码和文件映射到容器中,以便在容器内进行调试和开发。

这样一来,我们可以在容器内和本地的开发环境之间互相传输文件,方便进行调试和测试。

第三步,远程连接Docker容器。

一旦Docker容器启动成功,我们可以通过SSH或其他远程连接方式连接到容器。

在连接之后,我们就可以像在本地环境一样进行调试和开发。

容器内部的文件和代码可以直接在本地编辑和查看,而调试工具也可以在容器内部运行,并通过远程连接与本地的编辑器或IDE进行交互。

使用Docker进行远程调试和开发的好处有很多。

首先,它可以大大简化配置和部署过程。

通过打包所需的开发环境和工具到一个Docker镜像中,我们可以确保在不同的机器和环境中使用相同的配置,减少了配置错误和环境不一致导致的问题。

其次,Docker提供了轻量级的虚拟化技术,使得调试和开发过程更加高效和快速。

我们可以在几秒钟内启动一个新的Docker容器,而不用等待传统虚拟机的启动时间。

VS2019远程调试

VS2019远程调试

VS2019远程调试
⼀、简介
今天遇到⼀个问题,本地调试⽆任何问题,但是发布后代码服务器端响应总是不对。

所以想调试下。

故搞个远程调试。

现在先配置下⼯具。

步骤如下。

⼆、步骤
2.1、远程访问⼯具下载
⼀直往下翻,找到最底下的所有下载,点击全部展开,下载远程⼯具,根据⾃⼰电脑版本下载。

2.2、安装exe⼯具。

略过。

注意,是你要访问的iis服务器安装哈。

我⽤的是云服务器。

2.3、远程访问
云服务器安装完毕后,在开始菜单⾥⾯找到Remote Debugger,点击打开配置访问接⼝。

此处建议选择⽆⾝份验证, 空闲时间可稍微设置长⼀点,否则可能会出现修改代码重新调试后,需要重新连接。

可以在⼯具--》选择,⾥⾯取配置。

2.4、将需要调试的代码部署到服务器。

2.5、云服务器开启端⼝安全组
2.6、调试
vs2019开启,打开对应的程序源码,点击调试->附加到进程。

2.7、待解决问题
这个问题⼀直困扰这我,⽹上也没有对应解决办法。

我很确定服务器的所有防⽕墙已关闭,端⼝也是可以开放的。

留待解决把。

VScodeRemoteSSH通过远程编辑与调试代码

VScodeRemoteSSH通过远程编辑与调试代码

VScodeRemoteSSH通过远程编辑与调试代码Visual Studio Code 最新的Insider版本中加⼊了remote SSH功能,可以实现代码的远程调试与⽂件访问。

⽅法⾮常简单,这⾥总结记录⼀下。

补充说明⼀个Error的解决⽅案,这块可以先不看远程Debug的时候会有⼀个error,修改luanch.json⽂件即可正⽂参考链接:必备条件:远程服务器打开SSH server功能,ubuntu系统基本都⾃带,没有的话apt-get install openssh-server本地电脑需具备SSH功能【win10⾃带,其他版本需安装SSH⽀持并加⼊路径】步骤安装后增加Remote Development扩展,这⾥注意只⽤安装这个插件,其他的依赖包会⾃动下载。

打开本地vscode,ctrl+shift+P输⼊remote, 使⽤Remote-ssh: connect to host选项初次使⽤,需要配置host⽂件,选择Configure SSH Hosts我这⾥就直接选择⽤户名下的config进⾏配置,填⼊远程电脑的ip地址和⽤户名。

保存后再次使⽤Remote-ssh: connect to host命令。

如果选择密码验证,VScode的集成终端中会跳出输⼊密码选项然后后⾯会开始加载远程信息,需要多次输⼊密码。

这就是建议⽤ssh-keygen的原因。

最终看到这样的输出,就是连接好了,连接过程还是很快的此时,open foler打开的就都是远程电脑的⽂件了,默认在~/路径。

打开⽂件夹时候也要输很多次密码。

现在就可以直接查看和调试远程电脑的⽂件了。

注意调试对应的语⾔需要安装相应的vscode扩展,vscode本⾝也会⾃动提⽰安装扩展。

可以看到remote ssh是可以直接调⽤远程端的conda虚拟环境的,整个使⽤很⽅便。

到此这篇关于VScode Remote SSH通过远程编辑与调试代码的⽂章就介绍到这了,更多相关VScode Remote SSH远程内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。

QT一键目标板远程调试

QT一键目标板远程调试

1.说明最近Qt IDE由于出色的跨平台特性,逐步开始流行。

编译环境也集成了常用到的编译调试工具。

大部分玩Linux的高手应该是自己写脚本来实现一键远程部署和调试等命令。

但是对于新手不免有很大难度。

下面说说利用QT自带的远程部署工具和远程调试工具gdbserver,远程SSH工具。

无需安装NFS。

Gdbserver的安装参见SSH的安装根据自己目标板安装。

2.远程部署linux设备添加打开工具》选项》linux设备》设备配置选项卡添加一个通用Linux设备,这里需要输入设备名称,主机名称是(ARM)目标板IP地址,SSH 端口默认是22,用户名和密码是你需要登录的账户,当然我建议登录root,当然这里填写自己目标板的root账户名密码。

3.将工程添加远程部署目的是把执行文件拷贝到目标板指定目录点击左侧《编辑》选项卡,打开XXX.pro工程文件,添加如下代码target.path = /optINSTALLS += target sources上面代码的意思添加目标板文件路径,添加代码后点击左侧《项目》选项卡,打开运行《设置》标签,对该项目添加远程部署,点击添加,选择《部署到远程Linux主机》,配置设备选择①中添加的设备。

下面就可以看到刚才添加的目标文件路径,目标板可执行文件就存放在这里4.增加额外的远程命令Qt远程运行和调试时有两个bug:一是当第二次部署运行的时候,sftp部署会失败,弹出错误如下造成这问题的原因很简单,就是旧可执行文件无法被新的文件覆盖,sftp也不能怎么加强制覆盖的参数。

二是当远程运行后,远程指令无法再点击停止按钮后退出远程指令进程,也就是说当你运行N次后目标板不断开闭进程,导致延迟越来越大,越来越卡。

可以用PS命令来验证这个说法。

解决办法是增加一条远程部署命令删除原来的文件,同时也终止上一次远指令,写一个脚本文件我的名称名kill_list.sh,脚本文件如下PID=`ps ax | grep $1 | awk '{if ($0 !~/grep/) {print $1}}'`# echo "PID=$PID"if [ -n "$PID" ]; thenkill -9 $PID >/dev/null 2>&1fi点击《添加部署步骤》添加如下命令行:/opt/kill_list.sh是脚本文件路径,RichBike是可执行程序文件,&不阻塞。

SpringBoot项目远程Debug模式(Eclipse)

SpringBoot项目远程Debug模式(Eclipse)

SpringBoot项目远程Debug模式(Eclipse)Spring Boot 是一个用于简化 Spring 应用开发的框架,它可以帮助我们快速搭建和部署应用。

在开发过程中,我们经常需要进行 Debug 来定位问题。

本文将介绍如何使用 Eclipse 远程 Debug Spring Boot 项目。

```javapublic class MyApplicationpublic static void main(String[] args)System.setProperty("spring.devtools.restart.enabled", "false");System.setProperty("java.awt.headless", "true");}```接下来,我们需要配置 Eclipse 来进行远程 Debug。

首先,打开Eclipse,找到要调试的项目,右键单击,选择 `Debug As -> Debug Configurations`。

在弹出的窗口中,选择 `Remote Java Application`,然后点击`New` 创建一个新的 Debug 配置。

在 `Connection Type` 中选择 `Standard (Socket Attach)`。

在`Connection Properties` 中,设置 `Host` 为 `localhost`,设置`Port` 为 `8000`(默认的远程 Debug 端口)。

然后,点击 `Apply` 保存配置。

现在,我们可以启动 Spring Boot 项目。

在项目启动完成后,点击Eclipse 的 Debug 按钮,选择刚刚创建的 Debug 配置。

然后,点击`Debug` 按钮来启动远程 Debug。

如果一切顺利,Eclipse 将连接到运行中的 Spring Boot 项目,并在远程服务器上进行 Debug。

Unity远程调试安卓应用教程

Unity远程调试安卓应用教程

Unity远程调试安卓应用教程(适用于Unity 4.6.1 Win&Mac)1、安装文件夹中的Unity Remote.apk(180k)到手机中2、设置Unity发布平台步骤:File>Build Settings3、进行基本的工程配置,点击旁边的Player Settings...4、把Identification中的Bundle Identifier改为自定义的名字。

如com.Kingsoft.Mydemo5、设置远程平台为安卓步骤:Edit>Project Settings>Editor6、运行手机的Unity Remote,然后点击电脑中Unity编辑区的播放键,即可看到手机上显示一样的画面。

7、如果没有出现预期画面,有可能由于金山手机助手,QQ 手机助手等安卓辅助工具占用了adb.exe的端口。

8、运行cmd,执行netstat -aon|findstr "5037"9、打开任务管理器,右键进程的标题栏,添加PID一栏10、升序排列找到对应PID的程序11、比如名为ssjk_daemon.exe 右键选择该进程,右键打开找到文件位置12、卸载对应的该文件夹软件。

13、卸载完成之后再次检查(执行netstat -aon|findstr "5037"),当内容为空,表明成功14、执行如下cmd指令:adb kill-serveradb start-serveradb devices15、当出现如下画面表明成功16、重新执行步骤6,一般即可做到远程调试。

17、由于是远程调试,画质会有降低,另外由于包路径不同,测试资源必须要真机调试,不然有可能找不到资源。

VS2005远程调试说明

VS2005远程调试说明

1.说明
本机:VS2005运行(Windows XP)
远程端:应用程序运行(本文以Window XPe为例)
2. 准备
(1) 拷贝本机" \Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86"文件夹到远程端。

(2) 远程端:“本地安全策略-安全选项-网络访问:本地帐户的共享和安全模式”改为:经典-本地用户以自己的身份验证。

(XPe 中该选项没找到,没有设置)
(3) 本地:打开待调试工程,在VS2005菜单中,打开“项目”-“属性”,左侧列表选择“调试”,右侧设置选项如下图所示:
(其中,远程命令为远程端应用程序的绝对路径;远程服务器名称设置为远程端的IP。


3. 开始调试
(1) 远程端:启动远程调试监视器
方法1:启动x86文件夹下msvsmon.exe程序,从“工具”-“选项”中将“身份验证模式”改为“无身份验证,允许任何用户进行调试”,将“最大空闲时间”设置为90000000000000(无穷大)。

配置界面如下:
方法2:使用命令行:“msvsmon.exe /noauth /anyuser /nosecuritywarn”。

(2) 远程端:将本地生成的应用程序拷贝到远程端,远程端应用程序的路径为1(3)中的远程命令。

(3) 本地:打开待调试工程,按F5进行调试运行。

VSCode远程调试配置指南

VSCode远程调试配置指南

VSCode远程调试配置指南在软件开发中,调试是一个重要的环节,它可以帮助开发人员快速定位和修复代码中的错误。

而远程调试技术的出现更是为开发人员提供了更便捷的调试方式。

VSCode作为一款流行的集成开发环境,也提供了丰富的远程调试功能。

本文将为您介绍VSCode远程调试的配置指南。

I. 安装VSCode远程开发插件组件为了使用VSCode进行远程调试,首先需要安装相关的插件组件。

打开VSCode并点击左侧的扩展按钮(Ctrl+Shift+X),在搜索框中输入"remote development",然后选择并安装相关插件组件。

安装完成后,重启VSCode。

II. 连接到远程服务器1. SSH方式如果您需要在远程服务器上进行调试,可以使用SSH方式连接。

点击底部的状态栏,选择"Remote Explorer",然后点击上方的"+"图标,选择"SSH Targets"。

在弹出的输入框中输入远程服务器的SSH连接信息(IP地址、端口号、用户名和密码),点击连接按钮。

成功连接后,您将在"Remote Explorer"面板中看到您的远程服务器。

2. 容器方式如果您使用的是容器化开发环境,可以使用Docker或者Kubernetes 来进行远程调试。

点击状态栏中的"Remote Explorer",然后选择"+"图标,选择"Docker Containers"或者"Kubernetes Clusters"。

根据您使用的具体容器平台,输入相关信息并连接到远程容器。

连接成功后,您将在"Remote Explorer"中看到已连接的容器。

III. 配置远程调试1. 创建调试配置文件在本地的VSCode中,按下"F5"键或者点击左侧的调试按钮,然后选择"create a launch.json file"。

VSCode代码调试与远程调试方法

VSCode代码调试与远程调试方法

VSCode代码调试与远程调试方法对于开发人员而言,代码调试是一项至关重要的任务。

好的调试工具可以大大提高开发效率和代码质量。

VSCode是一款流行的开源代码编辑器,提供了强大的调试功能和远程调试方法,使开发者能够更轻松地定位和解决问题。

本文将介绍VSCode代码调试的基本使用方法,并探讨如何使用VSCode进行远程调试。

I. VSCode代码调试方法VSCode提供了多种代码调试方法,包括本地调试和远程调试。

1. 本地调试本地调试是最常用的调试方法之一,它允许开发者在本地计算机上调试代码。

VSCode通过在源代码中插入断点,可以暂停执行和观察变量的值,帮助开发者分析代码的执行过程。

以下是使用VSCode进行本地调试的步骤:步骤1:在VSCode中打开项目文件夹。

步骤2:点击左侧的调试图标,或使用快捷键Ctrl+Shift+D,打开调试视图。

步骤3:点击调试视图中的“创建配置文件”按钮,选择调试环境。

例如,选择“Node.js”环境。

步骤4:在生成的launch.json文件中配置调试选项,比如指定程序入口文件和调试参数。

步骤5:在源代码中插入断点,然后点击调试视图中的“开始调试”按钮,或使用快捷键F5,启动调试会话。

步骤6:在调试会话中,可以使用调试控制面板中的按钮来控制代码的执行,观察程序的行为和变量的值。

2. 远程调试除了本地调试,VSCode还支持远程调试,即通过网络连接到远程服务器或容器上的代码进行调试。

这对于开发分布式系统或在不同平台上进行开发的场景非常有用。

以下是使用VSCode进行远程调试的步骤:步骤1:在本地计算机上安装VSCode和Remote Development扩展。

步骤2:启动VSCode,并点击左下角的“远程资源管理器”按钮。

步骤3:在远程资源管理器中,选择适当的连接选项,比如通过SSH连接远程服务器。

步骤4:输入远程服务器的地址和身份验证信息,在VSCode中建立与远程服务器的连接。

在Tomcat和Eclipse进行远程调试的配置

在Tomcat和Eclipse进行远程调试的配置

在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下:第一步、配置tomcat一、在windows系统中:打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:set CATALINA_OPTS=-server -Xdebug -Xnoagent piler=NONE-Xrunjdwp:transport=dt_socket,server=y,su spend=n,address=8787。

其中address=8787是没被使用的端口号。

连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。

二、在非windows系统中:还需要把% CATALINE_HOME %/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。

由于默认的端口是8000,所以如果8000端口已有他用的话,还需在catalina.sh文件中设置:JPDA_ADDRESS=8787。

输入命令startup.sh或者catalina.sh jpda start就可启动tomcat。

第二步、配置eclipse在Eclipse中选择RunàDebug,在弹出的对话框中右击Remote Java Application新建一个远程调试项,如下如所示:在“Name”输入框中输入远程调试的名称,在“Project”中选择要调试的项目,在“Host”中输入需要远程调试项目的IP,也就是tomcat所在的IP,在“Port”中输入设置的端口号,比如上面设置的8787,然后钩选“Allow termination of remote VM”,点击“Apply”即可。

编程中的远程调试与故障排除

编程中的远程调试与故障排除

编程中的远程调试与故障排除在软件开发中,经常会遇到代码运行出错的情况。

为了定位和解决问题,开发者需要进行调试和故障排除。

而在远程开发的情况下,如何进行远程调试和故障排除成为一个必须面对的挑战。

本文将介绍远程调试的概念、常用的远程调试工具和方法,以及远程故障排除的一些技巧。

一、远程调试概述远程调试是指在开发环境与运行环境不在同一物理位置时,通过某种方式实现在开发环境中对运行环境中代码的调试过程。

远程调试的目的是为了定位和解决开发环境和运行环境之间出现的问题。

二、远程调试工具和方法1. 远程调试工具在远程调试中,常用的工具有:(1)远程调试器(Debugger):例如GDB、LLDB等,可以通过与运行环境建立连接,对代码进行调试和跟踪。

(2)日志记录工具(Logger):例如Log4j、Logback等,可以将代码的运行信息输出到日志文件中,以便开发者远程查看。

(3)远程诊断工具(Remote Diagnostic Tool):例如Wireshark、tcpdump等,可以监控网络流量,了解运行环境中的通信情况。

2. 远程调试方法远程调试的方法主要包括以下几种:(1)远程调试器连接:通过远程调试器与运行环境建立连接,通过断点、变量查看等功能进行调试。

(2)远程日志查看:将代码的运行日志输出到远程日志文件中,开发者通过网络访问远程日志文件进行查看。

(3)远程诊断分析:通过监控网络流量,分析运行环境中的通信情况,定位问题所在。

三、远程故障排除技巧在远程开发中,遇到故障时需要快速准确地排除问题。

以下是一些远程故障排除的技巧:1. 确保网络连接正常:检查开发环境和运行环境之间的网络连接是否正常,避免因网络问题导致的调试失败。

2. 打印关键信息:在代码中插入打印语句,输出关键变量的值,帮助定位问题所在。

3. 研究错误日志:查看运行环境中的错误日志,了解错误信息,从而找到解决办法。

4. 隔离问题范围:将复杂的系统拆分成多个组件,逐一测试,从而缩小故障范围,提高问题定位效率。

JAVA远程调试参数设置

JAVA远程调试参数设置
server参数是指是否支持在server模式的VM中.
onthrow指明,当产生该类型的Exception时,JVM就会中断下来,进行调式。该参数可选。
launch指明,当JVM被中断下来时,执行的可执行程序。该参数可选
suspend指明,是否在调试客户端建立起来后,再执行JVM。
onuncaught(=y或n)指明出现uncaught exception 后,是否中断JVM的执行.
3、注意两者的区别:
a、linux下不需要set
b、wБайду номын сангаасndows下不需要最后一个参数:
-Djava.rmi.server.hostname=192.168.3.56
3、注意在参数的前面留至少一个空格(需要考虑到还可能有其他的
jvm参数)
-XDebug 启用调试。
-Xnoagent 禁用默认sun.tools.debug调试器。
piler=NONE 禁止 JIT 编译器的加载。
-Xrunjdwp 加载JDWP的JPDA参考执行实例。
其中,-Xdebug是通知JVM工作在DEBUG模式下,-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境。该参数同时了一系列的调试选项:
transport指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适用于Windows平台。
-Xdebug -Xnoagent等参数需要放在main class前面
1、在unix环境下:
在Tomcat的Catalina.sh文件的最开始部分添加如下jvm参数:

VSCode代码调试与远程调试教程

VSCode代码调试与远程调试教程

VSCode代码调试与远程调试教程在软件开发过程中,代码调试是一个必不可少的环节。

针对不同的项目和开发工具,选择合适的调试方法对于快速定位和解决问题非常重要。

VSCode作为一款流行的开发工具,提供了丰富的代码调试功能,并支持远程调试,大大提高了开发效率。

本文将介绍VSCode代码调试和远程调试的使用方法和技巧。

一、VSCode代码调试1. 安装VSCode和调试插件在开始使用VSCode进行代码调试前,首先需要安装VSCode编辑器。

在官方网站上下载相应的安装包,然后按照提示进行安装。

安装完成后,打开VSCode并进入插件商店,搜索并安装适合自己开发语言和框架的调试插件,如Java、Python、C#等。

2. 配置调试器打开待调试的项目文件夹,点击VSCode的调试选项卡,点击“创建一个 launch.json 文件”按钮,选择对应的调试插件。

在弹出的launch.json 文件中,可以配置调试启动选项和调试参数。

根据自己的需求进行相应的配置,如调试端口、运行参数等。

3. 添加断点在待调试的项目代码文件中,选择你认为可能存在问题的代码行,点击行号区域,即可添加断点。

断点的作用是在程序运行到断点处时,暂停程序的执行,方便开发者进行调试。

可以添加多个断点,以便在调试过程中逐步排查和修复问题。

4. 启动调试点击调试选项卡中的启动调试按钮,或使用快捷键F5,即可启动代码的调试过程。

此时,程序会在设定的断点处暂停执行,开发者可以通过调试窗口查看变量值、执行流程等相关信息。

通过逐步执行、观察变量值的变化,可以快速定位代码问题。

5. 调试技巧在VSCode中进行代码调试时,有一些常用的技巧可以提高效率。

例如,可以使用断点条件,只在满足某个条件时才触发断点暂停。

还可以通过设置日志输出级别,查看详细的调试日志信息。

此外,VSCode还提供了一些调试辅助工具,如调试控制台、堆栈跟踪等,方便开发者进行问题排查和分析。

远程debug调试java代码

远程debug调试java代码

远程debug调试java代码远程debug调试java代码⽇常环境和预发环境遇到问题时,可以⽤远程调试的⽅法本地打断点,在本地调试。

⽣产环境由于⽹络隔离和系统稳定性考虑,不能进⾏远程代码调试。

整体过程是通过修改远程服务JAVA_OPTS参数,然后本地通过Eclipse或IDEA等⼯具调试。

下⾯简单介绍下理论。

理论JPDA(Java Platform Debugger Architecture)是Java平台调试体系结构的缩写。

由3个规范组成,分别是JVMTI(JVM Tool Interface),JDWP(Java Debug Wire Protocol),JDI(Java Debug Interface) 。

1.JVMTI定义了虚拟机应该提供的调试服务,包括调试信息(Information譬如栈信息)、调试⾏为(Action譬如客户端设置⼀个断点)和通知(Notification譬如到达某个断点时通知客户端),该接⼝由虚拟机实现者提供实现,并结合在虚拟机中2.JDWP定义调试服务和调试器之间的通信,包括定义调试信息格式和调试请求机制3.JDI在语⾔的⾼层次上定义了调试者可以使⽤的调试接⼝以能⽅便地与远程的调试服务进⾏交互,Java语⾔实现,调试器实现者可直接使⽤该接⼝访问虚拟机调试服务。

java调试⼯具jdb,就是sun公司提供的JDI实现。

eclipse IDE,它的两个插件org.eclipse.jdt.debug.ui和org.eclipse.jdt.debug与其强⼤的调试功能密切相关,其中前者是eclipse调试⼯具界⾯的实现,⽽后者则是JDI的⼀个完整实现。

远程调试远程调试分为主动连接调试,和被动连接调试。

这⾥以Eclipse为例。

主动连接调试:服务端配置监控端⼝,本地IDE连接远程监听端⼝进⾏调试,⼀般调试问题⽤这种⽅式。

被动连接调试:本地IDE监听某端⼝,等待远程连接本地端⼝。

教你如何使用VS远程调试

教你如何使用VS远程调试

教你如何使⽤VS远程调试
从VS2010的安装⽬录⾥⾯,找到D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger⽂件夹
拷贝Remote Debugger⽂件夹到⽬标机器(程序运⾏机器)
运⾏mvsmon.exe,设置⼯具-选项为Windows⾝份验证,否则断点会不起作⽤
控制⾯板的⽤户选项⾥⾯,添加和远程机相同的⽤户命,密码,可以在⽤户管理⾥直接添加。

shift+右键--以其他⾝份运⾏-启动VisualStudio
调试-附加到进程(注意传输选择:默认值,限定符输⼊远程机IP )
执⾏刷新,附加到指定进程就可以了
如果要调试远程WebService,需要将web.config⾥⾯的Debug选项设置为true,还要讲对应的pdb符号⽂件拷过去。

复制代码代码如下:
<system.web> <compilation debug="true" targetFramework="4.0" /> </system.web>
Attention:
如果出现⽆法附加远程调试器,或者远程调试器⽆法连接到本地计算机的提⽰,注意将防⽕墙关闭---我在帮同事设的时候就是因为本机Windows防⽕墙没有关提⽰⽆法连接
VS2005远程调试跟2010是⼀样的,亲测可⽤
如果Remote Debugger选项设置为⽆可⽤计算机,断点不会起作⽤。

以上所述就是本⽂的全部内容了,希望⼤家能够喜欢。

Pycharm配置远程调试的方法步骤

Pycharm配置远程调试的方法步骤

Pycharm配置远程调试的⽅法步骤动机⼀些bug由于本地环境和线上环境的不⼀致可能导致本地⽆法复现本地依赖和线上依赖版本不⼀致也可以导致⼀些问题有时⼀些bug跟数据相关,本地数据⽆法和线上数据⼀致有些三⽅平台会验证服务器的合法性或者异步回调结果,如微信⽀付,这时候本地⽆法测试如上所诉,要是有⼀个很⽅便调试远程服务器的⽅法,岂不美哉。

通过PyCharm我们可以很⽅便地实现远程调试,下⾯详细介绍下PyCharm这个⽜叉的功能。

使⽤远程解释器默认情况下我们在本地开发Python程序时,使⽤的是本地的Python解释器,如果你安装了virtualenv或者pyenv的话,还可以选择这些虚拟环境。

⽽使⽤Pycharm的专业版,则还可以选择使⽤远程Linux机器上的解释器。

下⾯就来介绍下使⽤远程解释器的步骤。

添加远程部署打开pycharm,tools-->Deployment-->Configuration点击左边“+”添加远程服务器,随便起个名字,选择SFTP配置connection配置Mappings配置Excluded Paths(可选)最后点击OK即可再次打开部署选项,可以发现现在可以直接部署代码到服务器了,也可以直接下载带代码到本地,同时⾃动上传(Automatic Upload)是默认勾选的,我⼀般会把它去掉,防⽌⼀些本地测试代码上传上去新增⼀个⽂件,查看deployment 选项,这时候就可以上传到远程服务器了添加远程解释器远程部署仅仅只是同步和拷贝⽂件,要真正实现远程调试还需要配置远程解释器设置页⾯找到“Project Interpreter” --> 设置-->Add选择“SSH Interpreter” --> "Existing server configuration" --> 选择刚才创建的部署配置,使⽤‘'Create“或者”Move“ 都OK点击下⼀步,这时会进⾏连接远程服务器,稍等⼀会,会出现以下界⾯,稍微配置下,点击“Finish”即可最后使⽤远程解释器,点击“OK”,返回到项⽬界⾯,等待同步完成即可远程调试这⾥根据⾃⼰的具体项⽬情况⽽定,我这⾥是 Flask+阿⾥云+nginx+运⾏脚本的⼀个例⼦新增⼀个 run configuration运⾏脚本代码如下,这⾥使⽤了8000的端⼝Host要配置为0.0.0.0nginx 配置8000 端⼝server {listen 8000 ;listen [::]:8000 ;server_name _;root /usr/share/nginx/html;access_log /var/log/nginx/access_8000.log main;error_log /var/log/nginx/error_8000.log;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}error_page 404 /404.html;location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}}要是使⽤阿⾥云,还需要安全组开放8000 端⼝断点运⾏出现上图所⽰的时候,恭喜你,你已经可以断点调试远程服务器了我们打⼀个断点,然后试着访问⼀个API服务: xx.xx.xx.xx:8000/api/pages/b…完美断上补充说明不建议在正式服务器使⽤这个功能,可以在测试服务器使⽤以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Eclipse远程调试Tomcat
1.应用场景
通过Java的JPDA远程调试将本地源码与部署服务器连接起来实现调试,其中要注意的是:
1)程序源码与服务器上发布的编译过的代码版本保持一致,保证调试定位准确。

2)调试的过程中,部署在应用服务器上的项目是出于DEBUGE模式的。

2. 配置步骤
2.1. 配置Tomacat调试模式
1) 方式一
启动Tomcat远程调试功能的另一种方法:
打开apache-tomcat\bin 目录下的catalina.bat 文件,通过设置CATALINA_OPTS参数即可;同时还可以设置Java_home,JVM参数等…
set CATALINA_OPTS=-server -Xdebug -Xnoagent piler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
启动jdpa.bat ,JVM会使用socket方式,打开8000端口并挂起,等待客户端接入。

如图:
Windows系统: apach/bin/startup.bat开始处中增加如下内容:
1.SET CATALINA_OPTS=-server -Xdebug -Xnoagent piler
=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address =8788
Linxu系统: apach/bin/startup.sh开始处中增加如下内容:
declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent piler=NONE -Xrunjdwp:transp ort=dt_socket,server=y,suspend=n,address=8788"
2.linux打开端口命令的使用方法。

nc -lp 8788 &(打开8788端口)
4.查看是否打开8788端口
netstat -an | grep 8788
2) 方式二
复制startup.bat 为jpda.bat并做如下配置:
set JPDA_TRANSPORT=dt_socket --连接方式
set JPDA_ADDRESS=8000 --监听端口
set JPDA_SUSPEND=y --是否挂起
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
2.2. 配置Eclipse远程接入
1)打开Eclipse,导入项目源码(与被调试的代码一致)
2)打开Debug Configuration
选中New—打开debug配置页面
Project: 选择被调试的项目
Connection Type: 使用SocketAttach
Host:tomcat服务器所在IP地址
Port:8000(前面配置的监听端口)
设置完成后,记得点击Apply按钮。

点击下方的Debug按钮,eclipse便可以已Debug模式调试远程tomcat上发布的代码了。

相关文档
最新文档