我需要一些调试方面的帮助,因为我出于某种原因无法使用visual studio的调试器,有关如何使用消息框显示调试信息的任何想法吗?
private void ClickforError(object sender, EventArgs e)
{
MessageBox.Show("");
}
答案 0 :(得分:2)
我想你想要这样的东西:
private void ClickforError(object sender, EventArgs e) {
try {
// do something
} catch(Exception ex) {
MessageBox.Show(ex.Message + "\n" + ex.StackTrace);
}
}
答案 1 :(得分:1)
我想我明白了。您想要一种在代码中的给定点自动显示所有变量值的方法。 请参阅this question和this question,看看为什么这不容易。
this看起来与您的问题类似,并建议查看其他检查工具,例如Smart Inspect
答案 2 :(得分:0)
我不知道这是否对您有所帮助,但在Windows应用程序中,您可以添加eventhandler来捕获所有线程异常。
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);
}
}
}
但是这只显示错误消息...如果你想要一些其他的调试信息,我认为你必须编写一个自定义日志并在你要调试的代码之后编写所有类型的信息......
答案 3 :(得分:0)
也许你应该看看这个帖子?把它放在那里,但你有可能真的是同一个人吗? How to use messagebox to output debug information
答案 4 :(得分: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
当您发现哪个步骤以错误结束时,您应该在其子步骤中设置MessageBoxes,并检查每个子步骤的结果。这种迭代方法将引导您回答问题“错误在哪里?”