
我还希望能够按名称而不是地址指定值.但地址还可以.如果我可以指定一个函数的本地值,则可以获得奖励积分.
我仍在试图找出gdb的跟踪命令.任何帮助是极大的赞赏.谢谢.
解决方法 首先,您需要确保使用调试符号编译程序,并且可能没有优化以使gdb最有用.对于 gcc,那就是-g -O0.其次,您正在寻找的功能不是追踪,它的观察点.
(gdb) help watchSet a watchpoint for an Expression.A watchpoint stops execution of your program whenever the value ofan Expression changes.
所以,给出一些示例代码:
int main() { int a; a = 1; a = 2; return 0;} 然后你可以在上面运行gdb,并且:
(gdb) b mainBreakpoint 1 at 0x80483a5: file test.c,line 4.(gdb) runStarting program: /tmp/test Breakpoint 1,main () at test.c:44 a = 1;(gdb) watch aHarDWare watchpoint 2: a(gdb) cContinuing.HarDWare watchpoint 2: aold value = -1207552288New value = 2main () at test.c:88 return 0;
由于存在堆栈而不是内存,它的工作有点滑稽.如果进行了优化,那么它的工作量会更少:a会被优化掉.
总结以上是内存溢出为你收集整理的帮助gdb跟踪(或类似)全部内容,希望文章能够帮你解决帮助gdb跟踪(或类似)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)