Visual Studio的Debug可以指向您正在调试的代码吗?

时间:2012-10-02 16:56:47

标签: visual-studio debugging

所以,奇怪的问题。  我正在使用Debug.WriteLine()来写出我的输出,但是对于我的任何错误,我都希望看到它的代码和行值的引用或链接。 VS能做到吗?

我了解了Firebug / WebDev控制台是如何做到的。

谢谢,

Debug

2 个答案:

答案 0 :(得分:3)

您可以使用StackTrace类来获取此信息。像这样:

    public class Utils {
        public static string MyCaller {
            get {
#if DEBUG
                var trace = new StackTrace(true);
                var frame = trace.GetFrame(1);
                return frame.GetFileName() + "#" + frame.GetFileLineNumber().ToString();
#else
            return "N/A";
#endif
            }
        }
    }

样本用法:

class Program {
    static void Main(string[] args) {
        Debug.Print("Hello world from {0}", Utils.MyCaller);
    }
}

输出:

  

来自C:\ Users \ hpassant \ AppData \ Local \ Temporary Projects \ ConsoleApplication1 \ Program.cs#10

的Hello world

答案 1 :(得分:1)

Visual Studio 2012可以使用来电者信息执行此操作。

请参阅http://msdn.microsoft.com/en-us/library/hh534540.aspx

(虽然不是链接,但至少你得到的信息。)