Visual Studio.使用stacktrace';s序列作为命中断点条件
本文关键字:中断 条件 断点 使用 Studio stacktrace Visual | 更新日期: 2023-09-27 18:11:22
我使用了命中断点条件
(new System.Diagnostics.StackTrace(true).GetFrame(2) != null
&& new System.Diagnostics.StackTrace(true).GetFrame(2).GetMethod().Name
== "UpdateFromLocationInfo")
当我"一步一步"地遇到这个断点时,我通过快速观察检查了这个条件,这是真的。但条件不能通过f5模式工作
如果您试图将条件断点与条件表达式一起放入当前方法中,则当前方法应为"UpdateFromLocationInfo"。StackTrace
上的new始终适用于新建对象所在的当前方法。
// Create a StackTrace that captures filename, line number, and column
// information for the current thread.
StackTrace st = new StackTrace(true);
StackFrame[] stFrames = st.GetFrames();
foreach (StackFrame sf in stFrames)
{
Console.WriteLine(sf.GetMethod());
}
//The StackFrame at array index 0 represents the most recent function call
// in the stack trace and the last
//frame pushed onto the call stack.
if ((new StackTrace(true).GetFrame(0) != null &&
new StackTrace(true).GetFrame(0).GetMethod().Name == "UpdateFromLocationInfo"))
{
}
else
{
}
通过以上过程,您可以清楚地看到您的输出。