我想在代码(C/C++)里面可以打印出函数的调用堆栈。类似于调试器的堆栈查看功能,不同的是程序自己trace出函数调用栈。
我在exe的代码里面调用SymEnumerateSymbols64()、SymGetSymFromAddr64(),都可以正确得到信息(比如函数名)。
但在dll代码里面总返回地址无效的错误(ERROR_INVALID_ADDRESS),传给其的地址参数都是寄存器EIP的当前值。
SymGetSymFromAddr64(currentProcessHandle, current_eip, ...);