knrt.net
当前位置:首页 >> 在UBuntu Linux下用gDB调试程序,<gDB>list之后程序不从第一行开始显... >>

在UBuntu Linux下用gDB调试程序,<gDB>list之后程序不从第一行开始显...

使用 gdb l 1;//在list 后面加1.具体使用方法看我下面的文档 Gdb list使用介绍 GDB 可以打印出所调试程序的源代码,当然,在程序编译时一定要加上-g的参数,把源程序信息编译到执行文件中.不然就看不到源程序了.当程序停下来以后,

假设调试的文件是"a.out" 指令是 gdb a.out 啊 或者先进gdb 然后输入 file a.out当然 在生成文件时候 用gcc -g a.c -o a.out 一定要加上 -g 的选项

win下把 gdb 全部放到 c:\windows\system32 下面在cmd下启动 gdb.或者 你把 gdb 解压到某个文件夹比如: d:\gdb然后在系统环境变量里设置 PATH 变量,在里面添加 d:\gdb 就可以了.路径之间用分号隔开.然后你启动一个cmd 就可以运行gdb了.我把修改PATH 的资料发到你消息里面.

一、请确认代码一定会走到断点的地方;二、请确认是否是fork出来的子进程的代码;三、实在不行也应该把代码贴出来啊.

list 命令加行号的话,不是要打印第 10 之后的内容,而是打印第 10 行周围的内容,也就是第 10-10/2 行 到 10 + 10/2 行的内容.在 gdb 中使用 help list 会有详细说明.

一、GDB 概述GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图

下面是一段测试代码.test.c#include < stdio.h >#include < unistd.h > static void PrintMessage(int i); static void GoToSleep(void); int main(void) { int i = 100000; while ( 1 ) { PrintMessage( i ); GoToSleep(); i -= 1; } return 0; } void PrintMessage(int i)

在你打的命令前加上sudo ,(sudo后面有个空格的,提升使用者的权限).然后会提示你需要输入密码.最好不要随便用sudo命令,万一有些地方用了不该用的,后果不堪设想.遇到命令权限问题,你可以尝试下.

要看你使用的linux版本.一般来说软件源中都会有,而且很多版本都是默认安装的.以ubuntu为例可以sudo apt-get install gdb

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com