Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何从应用程序中抛出的ct\u cmd\u alloc错误的位置进行跟踪_C++_Sybase - Fatal编程技术网

C++ 如何从应用程序中抛出的ct\u cmd\u alloc错误的位置进行跟踪

C++ 如何从应用程序中抛出的ct\u cmd\u alloc错误的位置进行跟踪,c++,sybase,C++,Sybase,我有一个正在运行进程的应用程序。当这个过程运行时,我得到一个 ct\u cmd\u alloc错误,表示malloc失败。我理解,此错误是在 内存空间分配失败。但我想知道是否还有其他原因 我应该集中精力找出这个错误 我最关心的问题是我如何才能在代码中真正确定点在哪里和什么 是导致此错误的原因。我可以使用gdb、mdb或d-Trace来定点定位吗 如果是这样的话,我该如何继续呢。如果您在gdb中运行程序并导致异常发生,您可以在where中键入命令以获取堆栈跟踪 确保编译程序时启用了调试标志(-g)

我有一个正在运行进程的应用程序。当这个过程运行时,我得到一个
ct\u cmd\u alloc
错误,表示malloc失败。我理解,此错误是在 内存空间分配失败。但我想知道是否还有其他原因 我应该集中精力找出这个错误

我最关心的问题是
我如何才能在代码中真正确定点在哪里和什么
是导致此错误的原因。我可以使用gdb、mdb或d-Trace来定点定位吗

如果是这样的话,我该如何继续呢。

如果您在gdb中运行程序并导致异常发生,您可以在where中键入命令以获取堆栈跟踪


确保编译程序时启用了调试标志(
-g

,在gdb中,您可以在throw命令上放置一个捕获点。这将在引发异常时中断:

(gdb) catch throw

你的意思是说我应该运行我的进程,然后等待核心转储,然后使用gdb分析它吗?@Ritesh:你需要从gdb中运行进程。@Hippo我通过命令行运行进程。你能给我一些关于如何在gdb中运行它的见解吗?@Ritesh:google应该给你一些很棒的教程。这里有一个:@Hippo,当我通过命令行运行我的进程时。它将遍历各种cc文件。假设我用来运行进程的命令行是'my_process将其修改为
(gdb)运行my_进程
。这能满足我的要求吗?