gdb调试带参数的程序 (转载)】的更多相关文章

转自:http://www.cnblogs.com/rosesmall/archive/2012/04/10/2440514.html 一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中.使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > cc -g hello.c -o hello > g++ -g hello.cpp -o hello 如果没有-g,你将看不见程序的函数名.变量名,所代替的全是 运…
直接gdb pgname 参数1 这种方式,参数1是不会带到gdb里的 1,首先启动程序 gdb pgname 2,设置程序的参数 set args 参数1…
一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中.使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > cc -g hello.c -o hello > g++ -g hello.cpp -o hello 如果没有-g,你将看不见程序的函数名.变量名,所代替的全是 运行时的内存地址.当你用 -g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他. 启动 GDB的方法有以下几种…
一般来说GDB主要调试的是C/C++的程序.要调试C/C++的程序,首先在编译时,我们必须要 把调试信息加到可执行文件中.使用编译 器(cc/gcc/g++)的 -g 参数可以做到这一点.如: > cc -g hello.c -o hello > g++ -g hello.cpp -o hello 如果没有-g,你将看不见程序的函数名.变量名,所代替的全是 运行时的内存地址.当你用 -g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他. 启动 GDB的方法有以下几种…
在gdb中,运行程序使用r或是run命令. 程序的运行,你有可能需要设置下面四方面的事. 1.程序运行参数. set args 可指定运行时参数.(如:set args 10 20 30 40 50) show args 命令可以查看设置好的运行参数.…
使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/blog/cs 原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢! 原文链接地址: 使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法: 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序 情景2:需要同时看几个变量的值或…
配置cmake编译器,步骤如下: 步骤1:  Qt下新建一个project. 步骤2:  在该project目录下创建一个CMakeLists.txt文件,并按规范编写该文件. Tip: project中的源码文件名称要与CMakeLists.txt中所列名称一一对应,特别注意main.cpp文件. 步骤3: 3.0 打开上述新建的project,选择Projects,在Desktop中选择Build选项. 3.1 在Build directory中填写“build”.该步骤即为在main.cp…
如果一个进程fork了多个进程,这时使用GBD工具对程序进行调试会如何呢? 实际上,GDB 没有对多进程程序调试提供直接支持.例如,使用GDB调试某个进程,如果该进程fork了子进程,GDB会继续调试该进程,子进程会不受干扰地运行下去. 如果你事先在子进程代码里设定了断点,子进程会收到SIGTRAP信号,如果没有对此信号进行捕捉处理,就会按默认的处理方式处理——终止进程. 那么该如何调试子进程呢?有3种方法: 1.follow-fork-mode 在2.5.60版Linux内核及以后,GDB对使…
当main函数的输入参数为空时,我们可以很方便的通过设置断点,单步运行的方法调试,可是如果需要调试的是有输入参数的程序该怎么办呢?最终还是让我找到了: 英文版:Project -> Properties -> Configuration Properties -> Debugging 在Command Arguments里填上即可. 中文版:菜单[项目] -> 属性页 -> 配置属性 -> 调试 在[命令行参数]里填上即可. 记得不同参数之前用空格隔开.…
1.ps aux | grep mxx.exe 查找可执行程序的进程id 2.gdb attach pid attach可执行程序的进程pid 3.continue/c 或者continue or c 当attach进程时,会停止进程的运行,这时使进程继续运行需要使用continue/c命令 4.其他gdb操作(bt b watch etc..) 现在可以使用其他gdb命令来调试了…