有没有办法列出 (在VS中显示,写入文件) 所有来电者 (对象,功能)<程序运行时/ em> 函数?可能使用调试器?
我需要记录 所有来电(包括来电者)的功能从程序启动到终止。
源代码的简单扫描或二进制文件不执行此任务,因为该程序可以作为接收调用所需函数的请求的服务器运行。 / p>
如果Visual Studio不提供此功能,是否还有其他解决此问题的方法?
答案 0 :(得分:1)
IMO,您最好的解决方案是添加日志记录功能。
查找对您的函数的所有调用。在调用函数之前,将某种信息打印到日志文件中。这将为您提供函数调用的带注释的历史记录。
另一个想法是使用像Doxygen这样的文档工具,它可以打印“调用者”和“被调用者”图。但是,这不是在程序执行期间。
答案 1 :(得分:1)
VS Profiler工具对您也有帮助,您可以选择“CPU采样”方法。
完成后,您可以选择“来电者/被叫者”。
参考:
https://docs.microsoft.com/en-us/visualstudio/profiling/caller-callee-view
答案 2 :(得分:0)
如果您的程序是.NET应用程序,则可以使用我的Runtime Flow工具在程序运行时查看函数的所有调用者。