这篇文章简要讨论了我面临的同样麻烦。从本质上讲,是否存在默认设置或gdb的hack来阻止单步进入每个glib库并且仅步入用户文件?我知道finish
每次进入它时我都可以打电话,但是我宁愿避免一些浪费的击键。
处理g ++的输出已经很烦人了。如果这种表现主义不能制止,那么这些gnu工具是否有很好的替代品?我确实听说过有关日食的好消息,但是我只是一个学生,他们以最小的努力寻找快速而肮脏的修复程序。
如果您具有GDB 7.12.1或更高版本,则可以将以下内容添加到~/.gdbinit
文件中:
skip -gfi /usr/include/c++/*/*/*
skip -gfi /usr/include/c++/*/*
skip -gfi /usr/include/c++/*
仔细检查这些文件实际上是否适合这些库。这个答案来自这里。
一些不编辑gdb init的选项
如果您想“跨过”一行(如std::vector<int> a;
)而不跨入该行,可以使用next
。
如果您遇到类似情况,int b = is_negative(a[0])
并且想中途停留,则is_negative
可以选择以下几种方法:
a[0]
功能,然后使用finish
再次退出。tbreak is_negative
在is_negative
函数上创建一个临时断点,然后用于next
执行将在该断点处中断的步骤。如果在函数中有很多带有子调用的对象,则2会更快:
is_negative(a[b.at(2)] * c[3]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句