我有一个很大的代码,它只使用标准的C++库,并且在gcc中编译得很好。因为代码实际上是用VS C++ 6.0编写的。代码在visual studio中运行良好,但当我使用gcc编译器时,编译时不会出现错误,运行它时会出现“在抛出异常后终止调用--例如,std::bad_alloc ()坏分配”--另一个混淆是,它是数值模拟代码,在使用gdb调试和终止时没有显示任何异常,但没有显示正确的结果。我无法诊断bad_alloc实际发生在哪里。
有时它甚至不会告诉任何行号,我真的不明白这个调试模式是如何工作的。我使用过应用程序验证器,它有时会给出一些行号。它看起来像是随机地告诉我这些事情...我该如何解决这个问题?这是我得到的:
First-chance exception at 0x7c812aeb in test.exe: Microsoft C++ exception: std::bad_alloc atFirst-chance exception at 0x7c812aeb in test.exe: Microsoft C++ excep
在Linux中,我试图调试从Python加载的共享库的C++代码。加载是使用ctypes包完成的。在Eclipse中,我在Python和C++代码中都设置了断点,但是C++代码中的断点跳过了C++代码中的断点( Python代码中的断点工作正常)。在attach to application对话框中,我选择共享库作为项目,选择/usr/bin/python2.6作为C/C++
我正在寻找C++中的内存调试策略。我已经用QT写了一个应用程序。我用的是Windows7,使用的编译器是MinGW。在调试模式下,我有时会收到以下调试消息:检测到堆损坏:在正常块(#...)之后0x..。大多数情况下,这将不会有任何问题。但有时,这会导致应用程序崩溃。我的问题是,如何调试这个错误?我在考虑替换操作符new/delete。运算符:
st
我的C++程序退出时出现了bad_alloc异常。我试图找出原因,但不太知道如何调试这类异常。到目前为止,我在调试模式下编译了程序,用gdb运行它,并在抛出异常(b 'std::bad_alloc::bad_alloc()')之前设置一个断点。:_M_get_result (this=0x55b9a0)
at /soft/EB_repo/devel/programs&
下面是调试器的读数。+ exception: std::bad_alloc at memory location 0x0012fa88..+ exception: std::bad_alloc at memory location 0x0012f428..Unhandled exception at 0x7c812afb in mySQLTestApp.exe: Microsoft C++ exception: std::bad_alloc at memory有人能解释一下为什么我在程序