如何使用预处理指令检查应用程序是否在Visual Studio中运行?

时间:2012-10-10 22:13:34

标签: .net debugging preprocessor

我需要让用户向我发回可能的异常消息,我通过将main方法包装到try-catch中来显示,但这也迫使我看到自定义消息而不是visual studio的异常窗口。

这就是为什么我需要以某种方式使用一些预处理指令来在VS中运行unwrapped方法,而在没有时将其包装。

2 个答案:

答案 0 :(得分:0)

正如Tetsujin no Oni建议的那样,使用System.Diagnostics.Debugger.IsAttached 如果此boolean属性返回true,则Visual Studio IDE(或其他一些调试器!)将附加到进程,在这种情况下 - 假设您在Visual Studio下运行。

答案 1 :(得分:0)

无需使用预处理指令 - 可以通过在if语句中检查附加的调试器来完成:

static void Main(string[] args)
{
    if (System.Diagnostics.Debugger.IsAttached)
    {
        /* application code */
    }
    else
        try
        {
            /* application code */
        }
        catch (Exception ex)
        {                
            // custom exception handling
        }
}