程序调试

vs2012远程调试

对着背影说爱祢 提交于 2019-12-27 04:28:45
不知道大家有没有遇到过这种情况,刚开发完的程序,明明在本机能够好好的运行,可是部署到服务器过分发给用户时,总是出现莫名其妙的错误。 一时半会又看不出问题来,怎么办呢?难道只能在服务器或是客户电脑上装一个vs、跟一下代码吗? 其实不用的,vs有一个远程调试的功能。 这个功能是这样的,程序在其他的电脑上运行,但是我们可以在本地电脑上进行断点跟踪。 下面以vs2012为例,为大家介绍一下 无身份验证的远程调试 (如果要用有身份验证,又没有域环境,参见最后的总结),同时也说一下vs2012与以前版本在远程调试功能方面的改进。 1、从开始菜单中打开“Remote Debugger”文件夹,打开之后,你会看到两个文件夹,这个是要复制到远程计算机上的,只需要根据具体环境从两个里选出一个复制过去就好了。 2、复制完之后,在远程电脑上打开vs远程调试监视器(“msvsmon.exe”),会出现下图中的窗口,点击选项菜单,选中无身份验证和允许任何用户进行调试。 然后点击确定,这样,远程计算机就设置好了。当然,别忘了在远程计算机上启动你要调试的程序。 3、然后,我们在自己的电脑上,打开项目,从调试菜单打开附加到进程窗口,选择远程,输入远程计算机的ip,然后回车; 再选择要调试的程序,点击附加按钮。好了,点个断点,试试吧。 4、vs2012与之前版本的不同。 看看这张图,是不是很熟悉

【Linux开发】CCS远程调试ARM,AM4378

折月煮酒 提交于 2019-12-27 04:26:40
注意一点:CCS也是安装在Linux主机上的,不是安装在Windows上的,我在Windows上做出了很多尝试,但最终也不没明白究竟要用怎样的格式去执行在ARM-Linux应用程序,out文件ELF可定不行,然后尝试转成bin,然后仍然说是格式错误!虽然尝试了远程连接ARM-Linux板卡,并实现了window-》show view-》Remote Systems可以用来编辑远程的系统,当然需要UserID和登陆密码了,还有对应的IP地址,跟利用Qt进行远程调试ARM程序一样,也是通过Ssh、StpFiles等进行的下载程序,可在终端命令中执行类似超级终端的效果,虽然是通过网络连接的。 下面是参考的文章: 最近需要使用CCSV5使用gdbserver远程调试ARM cortex-a8的程序,移植成功gdbserve,使用的版本包是gdb-7.1,主机环境为ubuntu10.04,开发板挂载的nfs文件系统。CCSV5已经自带zylincdt,所以只需构建开发板端gdbserver就可以了。下面是详细过程。 1、gdb下载安装 下载gdb-7.1.tar.bz2至工作目录 gdb源码下载:http://ftp.gnu.org/gnu/gdb/ 命令如下: $tar -jxvf gdb-7.1.tar.bz2 $cd gdb-7.1 $sudo ./configure --target

linux之gdb调试

偶尔善良 提交于 2019-12-27 04:26:05
1、编译要加上-g选项 gcc -g -o hello hello.c 2、常用命令 l 查看源码 , b 加断点, r 开始运行调试, n 下一步, s下一步但是会进入子函数. p 输出数据. info args查看当前函数参数值;info locals 看当前函数栈上值信息;info registers 表示查看寄存器值 3、设置条件断点: b _add if g_val==10 4、删除断点 d + 断点索引1,2,3.. 5、多线程调试 info threads 查看所有运行的线程信息; thread 3表示切换到第三个线程; 6、gdb在ARM开发板上调试 到http://www.gnu.org/software/gdb/download/下载gdb包 (1)在本机PC安装arm-linux-gdb客户端 #tar jxvf gdb-7.2-tar-bz2 #cd gdb-7.2 #./configure --target=arm-linux --prefix=/usr/local/arm-gdb –v(--target配置gdb的目标平台,--prefix配置安装路径) #make #make install 这里使用的arm-linux-gcc版本一定要与编译开发板内核的gcc版本一致 这样arm-linux-gdb的客户端就安装到了--prefix所配置安装路径里。

Linux嵌入式GDB调试环境搭建

隐身守侯 提交于 2019-12-27 04:25:35
======================= 我的环境 ========================== PC 端: CPU:x86_64, 系统:Ubuntu,IP:172.16.2.212 开发板:CPU:sw9820c,系统:openwrt linux,IP:172.16.30.20 PC端安装的 C 交叉编译器为 arm-none-linux-gnueabi-gcc(gcc version 4.6.3),即交叉编译工具链的前缀为 arm-none-linux-gnueabi。 =========================================================== 1、GDB调试方式说明   一般桌面系统如Ubuntu、Centos等可以直接运行gdb + 目标可执行程序, 而嵌入式系统则分情况, 如果性能强劲且调试的源码文件比较少, 也可以编译嵌入式版的gdb执行文件, 即嵌入式gdb + 目标可执行程序。 如果性能弱或者调试对象的源码文件多可采用分离法, 即PC端运行gdb, 同时源码也在PC端, 而目标可执行程序放到开发板, 那怎么联系呢, 所以开发板端还需要运行gdbserver, 与PC端的gdb通过网络通信。 PC端也称客户端, 开发板端为服务端, gdbserver 接收 gdb 所传送的命令(list, step等),

使用gdbserver远程调试

拟墨画扇 提交于 2019-12-27 04:25:13
参考网址1: http://www.cnblogs.com/pengdonglin137/p/4737045.html#_labelTop 参考网址2: https://blog.csdn.net/wendaotaoa/article/details/8152864 一、利用GDB进行远程调试,首先需要明确以下几点: 1、调试用的GDB必须是交叉编译产生的GDB; 2、调试的程序必须是交叉编译且带 “-g” 选项的可执行程序。 3、在宿主机和目标开发板上调试的必须是同一个可执行程序。 4、基于 3 ,我们必须要建立一个宿主机和开发板的NFS共享目录,以实现调试调试同一可执行程序。(有待确认,也可以把可执行程序拷贝到目标板) 5、目标开发板的gdbserver和宿主机用的GDB版本必须相同,最好是同一源文件编译同时产生的。 6、在开发板上必须开通远程调试所需要的端口,否则远程调试机无法通过端口远程连接到开发板上。 二、安装gdbserver 1、准备材料   1)操作系统:ubuntu16.04.1(64位)   2)交叉编译器:gcc version 4.9.3 20141031 (prerelease) (Linaro GCC 2014.11)   3)gdb源码:gdb-7.8.tar.gz( gdb下载地址 ) 2、编译过程  # cd gdb-6.7.1/gdb

交叉编译和交叉调试环境搭建及使用

我们两清 提交于 2019-12-27 04:24:36
交叉编译和交叉调试环境搭建及使用 1. 交叉编译器 1.1 交叉编译器介绍 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码,而这种工具就是交叉编译器(cross compiler)。 1.2 搭建交叉编译环境 1.2.1 实验环境 交叉编译工具:arm-linux- 4.2.2 编译平台:ubuntu10.10 开发板类型:UT-S3C6410 1.2.2 搭建步骤 1) 在/usr/local/下建立交叉编译器的安装目录arm: sudo mkdir /usr/local/arm 2)将下载的交叉编译器包解压到/usr/local/arm目录下: sudo tar jxvf cross-4.2.2-eabi.tar.bz2 -C /usr/local/arm/ 3)解压成功后,修改PATH环境变量: sudo vim /etc/profile 在文件为加入交叉编译器arm-linux-所在的路径: export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin 然后退出vim。 4) 更新一下配置文件/etc/profile: source /etc/profile 5)检测是否安装成功:

使用vs2019进行Linux远程开发

不打扰是莪最后的温柔 提交于 2019-12-27 04:22:05
通常,当我们开发Linux程序时有两种方案: 在Linux上直接编写程序并进行运行测试和调试 在Windows或Mac OS X上借助工具进行远程开发 虽然我自己是在Linux环境上直接进行开发的,但也有许多的人是在Windows环境上从事开发工作的,如果离开自己熟悉的系统到陌生的环境上也许会影响到工作效率。 因此今天我们就来看下如何在Windows上使用Visual Studio 2019进行Linux远程开发以及如何避免常见的陷阱。 本文索引 Visual Studio的跨平台开发功能简介 使用vs2019进行Linux远程开发 创建项目 配置远程项目 添加远程环境 本地编写和远程调试 避免踩坑 中文乱码 使用数学函数和第三方库 Visual Studio的跨平台开发功能简介 从visual studio 2017开始微软推出了vs的跨平台开发功能,你可以在vs中编辑代码,随后进行跨平台编译和远程调试,将原先我们需要手动完成的工作进行了自动化,大幅减轻了我们的负担。其中支持的平台包括Android和Linux,也就是我们今天要重点介绍的主角。 也许你会好奇,vs究竟是怎样进行远程开发的,虽然你不用了解这些知识也可以进行开发,但我还是希望能用两分钟做个简短的解释。 vs进行远程开发分为两步: 创建远程环境的连接,随后让vs将远程环境中的系统头文件同步到本地

visual studio 远程调试

六眼飞鱼酱① 提交于 2019-12-27 04:17:21
环境: 主机a,运行test.exe,运行msvsmon.exe(微软远程调试监视器,微软网站可以下载,vs安装光盘中也有) 主机b,运行visual studio,打开项目test(为了定位test.pdb文件和test.cpp源文件, windbg的调试方式没有实验过)。 步骤: 在主机b上选择“调试”->"附加到进程"(或者ctrl+alt+p)->远程(填写主机a的IP地址),网速快的话,可以立即看到远程主机a上的进程列表,否则要稍等一会。选择test.exe开始调试,这时候,调试器会加载位于主机b上的pdb文件和并搜索相应的源文件。 注意事项: 1,简单起见,关闭主机a上的防火墙,配置msvsmon.exe的模式为“无认证”; 2,简单起见,让msvsmon以管理员方式运行( 很危险, 通过调试权限可以实现越权到管理员权限,最好是一个局域网 ),这样可以调试所有程序,包括服务。 来源: https://www.cnblogs.com/imwuzhh/archive/2009/06/22/2301796.html

vs2005远程调试

泄露秘密 提交于 2019-12-27 04:16:36
在VS2005中不能使用VS2003的远程调试程序。VS2005远程调试的方法: (1) 远程端:安装VS2005光盘"X:\vs\Remote Debugger\x86\ rdbgsetup.exe"。或者直接运行或copy本地端的: "Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote Debugger\x86" (2) 远程端:“管理工具 - 本地安全策略 - 安全选项 - 网络访问:本地帐户的共享和安全模式”改为:经典-本地用户以自己的身份验证。 (3) 远程端:启动Remote Debuger,从“工具 - 选项”中将身份验证模式改为“无身份验证,允许任何用户进行调试”。 或者直接用命令行:"X:\ msvsmon.exe" /noauth /anyuser /nosecuritywarn,可以建个快捷方式以方便运行。 (4) 本地:在VS2005中,“工具”--“附加到进程”,传输选“远程”,限定符输入远程端的主机名或IP地址,回车,终于出来了可爱的进程列表。 小结:跟VS2003相比,2005的远程调试的配置要稍麻烦一些,不过有一点重要的进步是它可以配置成服务,不像在2003下面要做繁琐的手工配置。 整那么多都没有没有用的! 来源: https://www.cnblogs.com/lancidie

linux应用调试技术之GDB和GDBServer

人走茶凉 提交于 2019-12-26 19:03:58
1、调试原理   GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试 ,PC机运行GDB,开发板上运行GDBServer 。在应用程序调试的时候,pc机上的gdb向开发板上的GDBServer发出命令,而开发板上的gdbserver就会向应用程序发出信号,使应用程序停下来或者完成其他一些工作。 2、安装GDB和GDBServer (gdb-7.4.tar.bz2 )   2.1、GDB       1、下载: http://ftp.gnu.org/gnu/gdb/     2、解压:tar xvf gdb-7.4.tar.bz2     3、配置:cd gdb-7.4/ ./configure --target=arm-linux     4、编译:make     5、安装:mkdir tmp make install prefix=$PWD/tmp     6、拷贝:cp tmp/bin/arm-linux-gdb /bin/     7、查看版本 /bin/arm-linux-gdb -v (使用绝对路径使用gdb)   2.2、GDBServer     1、cd gdb/gdbserver/     2、配置: ./configure --target=arm-linux --host=arm-linux     3、编译: make CC