【发布时间】:2013-03-14 01:51:57
【问题描述】:
我的问题听起来很具体,但我怀疑它仍然可能是 C++ 调试问题。
我正在使用 omnet++ 来模拟无线网络。 omnet++ 本身就是一个 c++ 程序。
我在运行我的程序时遇到了一个奇怪的现象(在 Ubuntu 12.04 中使用 omnet++ 4.2.2 修改了 inet 框架):当触摸代码的某个部分时,程序以退出代码 139 退出(人们说这意味着内存碎片) ,当我尝试调试时,gdb 不会报告之前模拟退出的“有问题”代码有任何问题,实际上,调试会通过这部分代码并输出预期结果。
gdb 版本信息:GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04
谁能告诉我为什么运行失败但调试没有?
非常感谢!
【问题讨论】:
-
听起来像是未定义的行为。如果没有看到有问题的代码,我们就忍不住了。
标签: c++ gdb segmentation-fault undefined-behavior