如何搜索"到下一行所述的无效地址"错误

Ara*_*hor 5 c++ debugging gdb valgrind

我正在创建一个包含太多代码的库,无法在此处提供.

我的问题是分段错误,Valgrind分析为:

跳转到下一行
0x72612F656D6F682F 上指定的无效地址:???
在[...](堆栈电话)

感谢这个问题,我想这是因为我在某处有一个堆栈损坏.

我的问题是:如何找到它?
我尝试使用GDB,但分段错误似乎不在同一个地方.GDB告诉我它位于函数的第一行,而Valgrind告诉我这个函数调用会导致分段错误.

Emp*_*ian 4

如果问题是可重复的,您可以使用与此答案类似的技术在返回地址的位置设置一个观察点,并让 GDB 在损坏该指令的指令之后立即停止。