是否可以通过将地址映射到调试.map文件或其他内容来“叠加”到堆栈,可能会以编程方式调用函数?
我有一个从很多不同的地方调用的函数,基本上如果可能的话我希望能够以编程方式注销谁调用了函数,以便我可以随时跟踪参数值的进展,并且能够将它们连接到可能出错的地方。我可以添加一个参数,以便调用者必须提供用户字符串或其他内容,但如果可能的话,我想做一些不那么具有侵入性的事情。
答案 0 :(得分:1)
GCC具有此功能,例如__builtin_return_address(请参阅http://gcc.gnu.org/onlinedocs/gcc/Return-Address.html)。它们应仅用于调试或特殊测试目的,而不是作为生产代码的一部分。
答案 1 :(得分:0)
您可以generate MiniDump files using windows API稍后在调试器中加载它们,如果符号可用,您应该能够调试崩溃并调查变量值。