草庐IT

0000000100000e

全部标签

c++ - 跟踪断言失败时如何知道调用者函数

我的问题与此有关SOpost和其他一些alike.我想知道调用函数的名称,因为在断言失败时,我不知道哪个函数将垃圾值传递给被调用者。一种方法是检查所有可以调用该函数的函数,但这很麻烦。您能否提出一个更好的解决方案,即使依赖于平台?我正在使用g++4.6。提前致谢。 最佳答案 参见backtrace()。例如#include#includevoidbar(){void*callstack[128];inti,frames=backtrace(callstack,128);char**strs=backtrace_symbols(cal

c++ - 跟踪断言失败时如何知道调用者函数

我的问题与此有关SOpost和其他一些alike.我想知道调用函数的名称,因为在断言失败时,我不知道哪个函数将垃圾值传递给被调用者。一种方法是检查所有可以调用该函数的函数,但这很麻烦。您能否提出一个更好的解决方案,即使依赖于平台?我正在使用g++4.6。提前致谢。 最佳答案 参见backtrace()。例如#include#includevoidbar(){void*callstack[128];inti,frames=backtrace(callstack,128);char**strs=backtrace_symbols(cal