gpt4 book ai didi

c# - 如何使用 Microsoft.Diagnostics.Runtime 获取有关 StackTrace 中方法的信息?

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:46 24 4
gpt4 key购买 nike

代码:

using System.Diagnostics;
using System.Linq;
using Microsoft.Diagnostics.Runtime;
using Microsoft.Diagnostics.Runtime.Utilities;
using Microsoft.Diagnostics.Runtime.Utilities.Pdb;

namespace myDiagnostics
{
public class myStackTraceInfo
{
public void Atach()
{
using (DataTarget target = DataTarget.AttachToProcess(Process.GetCurrentProcess().Id, 5000, AttachFlag.Passive))
{
ClrRuntime runtime = target.ClrVersions.First().CreateRuntime();
foreach (ClrThread thread in runtime.Threads)
{
foreach (ClrStackFrame frame in thread.StackTrace)
Console.Write(frame.Method.ToString());
}
}
}
}
}

结果,我得到的不是方法名称 - “UNKNOWN”。但是in方法是字段“InstructionPointer”,也许它会提供更多信息?

最佳答案

UNKNOWN 表示该方法没有关联的托管方法。尝试将它附加到其他进程,同时遍历所有堆栈中的所有帧,我相信你会找到一些东西。

Here您可以找到转储堆栈的工作示例,包括堆栈对象。

Example of dump stack

关于c# - 如何使用 Microsoft.Diagnostics.Runtime 获取有关 StackTrace 中方法的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40255009/

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