2011-05-20 76 views
0

我需要一些调试帮助,因为我由于某种原因无法使用visual studio的调试器,有关如何使用消息框显示调试信息的任何想法?使用messagebox显示调试信息

private void ClickforError(object sender, EventArgs e) 
{ 
    MessageBox.Show(""); 
} 
+1

你需要关于什么的帮助? – 2011-05-20 10:11:56

+0

编辑了这个问题,对不起,如果起初还不清楚 – redevil 2011-05-20 10:12:59

+1

当然有时候Message Boxes对调试非常有用,但问题是什么? – 2011-05-20 10:15:12

回答

1

我想我明白。你想要一种自动显示代码中给定点的所有变量值的方法。 参见this questionthis question,看看为什么这不容易。

this看起来像一个类似的问题和你,建议寻找其他检测工具,如智能检查

2

我想你想是这样的:

private void ClickforError(object sender, EventArgs e) { 
      try { 
       // do something 
      } catch(Exception ex) { 
       MessageBox.Show(ex.Message + "\n" + ex.StackTrace); 
      } 
     } 
+0

笏我应该做的“//做点什么”? – redevil 2011-05-20 10:25:03

+0

这绝对看起来更接近我的想法,但不幸的是,它不工作,也许是因为我不知道“//做些什么” – redevil 2011-05-20 10:36:08

+0

@redevil你放置你期望抛出异常的代码。 – Vale 2011-05-20 10:43:48

0

我不知道这是否可以帮助你,但在Windows应用程序,你可以添加事件处理程序捕捉所有线程异常。

Here is the tutorial在那里我得到的信息

这就是诀窍:

static class Program 
    { 
     /// <summary> 
     /// The main entry point for the application. 
     /// </summary> 
     static voidMain() 
     { 
      Application.ThreadException += new ThreadExceptionEventHandler(new ThreadExceptionHandler().ApplicationThreadException); 
      Application.Run(new Form1()); 
     } 
     /// <summary> 
     /// Handles any thread exceptions 
     /// </summary> 
     public class ThreadExceptionHandler 
     { 
      public void ApplicationThreadException(object sender, ThreadExceptionEventArgs e) 
      { 
       MessageBox.Show(e.Exception.Message, “An exception occurred:”, MessageBoxButtons.OK, MessageBoxIcon.Error); 
      } 
     } 
    } 

但这仅显示错误信息...如果你想一些其他的调试信息,我认为你必须写一个自定义日志和编写所有的信息befor和你想调试的代码后...

0

好吧,假设你有algorythm由几个步骤组成。当你可以在“调试它”以这样的方式

perform step1 
display MessageBox with results of step1 

perform step2 
display MessageBox with results of step2 
. 
. 
. 
perform stepN 
display MessageBox with results of stepN 

当你发现了哪个步骤与错误结束,则应该在它的子步骤提示消息框,并检查每一子步的结果。这种迭代方法会引导您回答问题:“错误在哪里?”