当前位置:首页 » 操作系统 » linux远程调试

linux远程调试

发布时间: 2022-08-06 14:18:21

1. VS2017远程调试linux程序,双击产生的断点显示不会命中,通过”调试-新建断点"设置的函数断点却可以生效

codeblocks设置断点和单步调试方法:主要是建一个project;而且project要放在英文目录下面;程序项目的目录里不能有中文;newproject->consoleapplication->选择corc++->filename->有个debug要钩上->写程序;编译后使光标定位在程序某处,按F4使程序运行到光标处,再按F7就可以单步调试,按Shift+F7单步进入。

2. 如何在linux上开启远程debug

tomcat debug参数关键字: debug 一般调试一个web项目的java代码时,需要将你的tomcat服务器和你的开发工具(比如Jbuilder)集成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),这些方式都是在本地进行,即你的开发工具和tomcat运行在同一台服务器上,如果你的开发工具和服务器不再一台机器上那就需要实现远程调试功能了。 实现方法:在tomcat的catalina.bat文件中加入下面的设置,当然SET CATALINA_OPTS 变量应该在使用它之前。这是在tomcat启动时设置一些虚拟机参数,使服务器允许远程连接功能,address=5888表示远程连接的端口号,可以设置成任意其他不冲突端口。其他的应用服务器比如weblogic也应该可以设置这些参数,有兴趣的可以测试。 SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888 这样就Ok了,重启动tomcat,可以直接独立启动,而不用在eclipes的插件中启动。打开eclipse中的debug设置窗口,选择Remote Java Application ,新建一个debug项,输入服务器IP和刚才设置端口号,点ok就可以进入debug状态了。

3. Linux系统远程连接终端连接不上怎么办

将SSH终端服务的端口由22修改为别的端口以防攻击黑客直接猜解您的服务器密码 首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,修改为如下: Port 22 Port 50000 然后保存退出 执行/etc/init.d/sshd restart 这样SSH端口将同时工作与22和50000上。现在编辑防火墙配置:vi /etc/sysconfig/iptables 启用50000端口。 执行/etc/init.d/iptables restart现在请使用ssh工具连接50000端口,来测试是否成功。 如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试,以免发生连接不上带来更多的麻烦。

4. 远程debug linux连接超时

远程调试环境由宿主机GDB和目标机调试 stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试stub 是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的...

5. linux weblogic怎么配置远程调试

在被调试的应用启动用的脚本里面的JavaOption里面加上 -Xdebug -Xrunjdwp:transport=dt_socket,address=NNNN,server=y,suspend=y 然后再eclipse上创建远程,wgrjIu

6. 哪个开发软件占内存小

熟练掌握优秀的开发工具,往往能很大程度的提升软件开发效率!下面以程序员视角,谈谈自己在日常开发过程中常用到的一些开发工具!欢迎大家留言补充:

C/C++开发

C/C++开发,当然还是一如既往的首推VisualStudio2015+系列。安装番茄插件(VA助手)之后,写起C++来简直不要太爽!

使用新版本的VisualStudio,你不仅可以创建Windows平台的项目,更可直接创建基于CMake的跨平台项目,更能完成Linux远程调试的工作。

那么,它有哪些缺点呢?至少目前来说,我没有发现。唯一需要注意的就是安装包实在太大了,完全安装需要50.7GB的空间(当然,对于土豪来说,这点硬盘空间算不上什么),在安装过程中可自行选择有需要的模块进行安装。

Java开发

21世纪Java开发,当然是选择IDEA了!在智能代码自动提示、代码重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUI设计等方面做的非常出色,早已被业界公认为Java开发首选IDE了。

如果你还在使用Eclipse,强烈推荐你试试IDEA!

通用软件

1. Wireshark

神级别的网络封包分析软件,免费开源,支持Windows、mac OS两大操作系统平台,使用WinPCAP作为接口,直接与网卡进行数据报文交换。可以让我们很直观的看到每一层(TCP/IP分层结构)网络数据包的流动方式。

处于安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

2. VSCode

微软出品的一款免费跨平台编辑器,大概是21世纪最优秀的编辑器之一了!有了它,我已经彻底放弃了使用多年的Notepad++、Sublime编辑器。启动快、颜值高、跨平台支持、插件丰富、对新手友好,上手难度低。最重要的是它亦支持远程开发,与Git高度集成。

3. Vim

号称编辑器之神,启动快速、高度可定制华、插件丰富,逼格高、支持编辑模式和命令模式,最大的优势在于可以然你原理鼠标,完全使用键盘高效工作。唯一的缺点就是你需要花费一定的时间来投入学习 它的使用。

有人会好奇,有更好用的IDE,为什么还要装逼使用Vim呢?其实,对于一般人而言,完全没有必要很深入的学习Vim,但是基本的操作你还是必须掌握的,不然,当你需要远程操作服务器时,你看到的只有ssh登录后的无图形化界面的系统,不懂Vim,文档编辑你将无从下手!

4. Git

目前世界上最先进的分布式版本控制系统(没有之一),高端大气上档次!作为一名程序员,如果你不知道它或者没有使用过它,那真的是太不合格了。基本已成为现在大多数公司代码版本控制的选择,旨在替代古老的SVN。

5. BeyondCompare

专业的文件对比工具,可快速对比文档、文件夹之间的差异并高亮显示,支持文件内容快速合并,支持Window、Linux、MacOS三大主流操作平台,对于程序员朋友,实在是一款不可多得的神器。

7. 在windows 远程调试 linux机器上的c++程序

wingide
是一个跨平台的库,你在
windows
上开发,在
linux
下运行是可以的。不过界面的效果会有一点小小的差别,自己注意一下就可以了。
开发好以后,将源代码拷贝到
linux
下,重新编译一下就好了。
另外,仔细看文档,针对某个平台特定的东西,最好不要用。

8. vs2017远程调试linux配置连接管理器时蓝屏

系统出现错误。
可能某个程序中有系统不支持的文件,才导致的蓝屏,可以完全卸载了再重新安装试试,如不行的话可以请下电子设备的维修师傅。
停止错误(stoperror),常称为蓝屏死机(BlueScreenofDeath),是出现严重的系统错误后,windows计算机系统上显示的一种错误屏幕,也称为系统崩溃。系统崩溃是指操作系统不能再安全运行的一种状态。

9. 嵌入式Linux的GDB远程调试如何实现呢

有道启新嵌入式研究院——远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准远程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。

就目前而言,嵌入式Linux系统中,主要有三种远程调试方法,分别适用于不同场合的调试工作:用ROM Monitor调试目标机程序、用KGDB调试系统内核和用gdbserver调试用户空间程序。这三种调试方法的区别主要在于,目标机远程调试stub的存在形式的不同,而其设计思路和实现方法则是大致相同的。

而我们最常用的是调试应用程序。就是采用gdb+gdbserver的方式进行调试。在很多情况下,用户需要对一个应用程序进行反复调试,特别是复杂的程序。采用GDB方法调试,由于嵌入式系统资源有限性,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试。Gdbserver在目标系统中运行,gdb则在宿主机上运行。

要进行GDB调试,目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。一般linux发行版中都有一个可以运行的gdb,但开发人员不能直接使用该发行版中的gdb来做远程调试,而要获取gdb的源代码包,针对arm平台作一个简单配置,重新编译得到相应gdb.gdb的源代码包可以从http://ftp.cs.pu.e.tw/Linux/sourceware/gdb/releases/下载,最新版本为gdb-6.4.下载到某个目录,笔者下载到自己的用户目录:/home/vicky.下载完后,进入/home/vicky目录,配置编译步骤如下:
#tar jxvf gdb-6.4-tar-bz2
#cd gdb-6.4
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
#make
(这一步的时候可能会有问题,提示一个函数中(具体函数名不记得了)parse error,就是unsigned前边多了一个”}”,你用vi进入那一行把它删掉就行了。)
#make install
#export PATH=$PATH:/usr/local/arm-gdb
进入gdbserver目录:
#./configure --target=arm-linux –host=arm-linux
#make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
(这一步要指定arm-linux-gcc的位置,可能跟你的不一样)
没有错误的话就在gdbserver目录下生成gdbserver可执行文件,把它烧写到flash的根文件系统分区,或通过nfs mount的方式都可以。只要保证gdbserver能在开发板上运行就行。

下面就可以用gdb+gdbserver调试我们开发板上的程序了。在目标板上运行gdbserver,其实就是在宿主机的minicom下,我的red hat linux装在vmware下的。我是在minicom下#mount 192.168.2.100:/ /tmp后做的(这里参数-o nolock可以不加,不加这一步执行得反而更快些),hello和gdbserver都是位于linux根目录下,把主机根目录挂在到开发板的/tmp目录下。
要进行gdb调试,首先要在目标系统上启动gdbserver服务。在gdbserver所在目录下输入命令:
(minicom下)
#cd /tmp
#./gdbserver 192.168.2.100:2345 hello
192.168.2.100为宿主机IP,在目标系统的2345端口开启了一个调试进程,hello为要调试的程序。
出现提示:
Process /tmp/hello created: pid=80
Listening on port 2345
(另一个终端下)
#cd /
#export PATH=$PATH:/usr/local/arm-gdb/bin
#arm-linux-gdb hello
(gdb) target remote 192.168.2.223:2345
(192.168.2.223为开发板IP)
出现提示:
Remote debugging using 192.168.2.223:2345
[New thread 80]
[Switching to thread 80]
0x40002a90 in ??()
同时在minicom下提示:
Remote debugging from host 192.168.2.100
(gdb)
连接成功,这时候就可以输入各种gdb命令如list、run、next、step、break等进行程序调试了。
以上针对通过nfs mount和tftp的方式,只能在主机上调试好后下载到开发板上运行,如果有错误要反复这个过程,繁琐不说,有些程序只能在开发板上调试。所以笔者采用了gdbserver的远程调试方式。希望对大家调试程序有用!

热点内容
优盘的存储原理 发布:2025-01-16 21:54:27 浏览:40
编程好软件 发布:2025-01-16 20:38:07 浏览:423
流量密码如何改成 发布:2025-01-16 20:37:13 浏览:50
java判断是否是对象 发布:2025-01-16 20:31:04 浏览:885
python调用外部程序 发布:2025-01-16 20:14:09 浏览:397
缓解压力英语作文 发布:2025-01-16 20:13:31 浏览:65
javaname 发布:2025-01-16 20:13:15 浏览:22
用户访问表空间 发布:2025-01-16 20:07:07 浏览:944
java代码自动编译 发布:2025-01-16 19:58:14 浏览:314
编程很困难 发布:2025-01-16 19:58:09 浏览:674