gpt4 book ai didi

visual-studio - 在 Visual Studio 中记录调用堆栈

转载 作者:行者123 更新时间:2023-12-01 11:09:29 25 4
gpt4 key购买 nike

我正在尝试在 Visual Studio 中调试一个非常大的 c++/c 程序。改变一个参数的值会显着改变结果。我想记录两次运行的调用堆栈并比较它们。

有谁知道如何在不设置断点并在窗口中使用全选/复制的情况下将调用堆栈转储到 VS 中的文件?

谢谢。

最佳答案

您可以使用 System.Diagnostics.StackTrace获取当前调用堆栈的字符串表示形式并将其写入文件。例如:

private static writeStack(string file)
{
StackTrace trace = new StackTrace(true); // the "true" param here allows you to get the file name, etc.
using (StreamWriter writer = new StreamWriter(file))
{
for (int i = 0; i < trace.FrameCount; i++)
{
StackFrame frame = trace.GetFrame(i);
writer.WriteLine("{0}\t{1}\t{2}", frame.GetFileName(), frame.GetFileLineNumber(), frame.GetMethod());
}
}
}

然后,每当你想写入当前堆栈时,只需调用writeStack(somePath)

关于visual-studio - 在 Visual Studio 中记录调用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1562987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com