我部署了一个VB.Net应用程序并运行它,我得到' AppName 已停止工作“”Windows正在检查问题的解决方案“以及Windows 7下的取消按钮。 XP我只是选择将错误报告发送给微软。
没有明显的方法可以挂钩调试器。我没有得到任何异常数据。我已经把msgbox放在我的代码的最开头,它们没有被命中,因此在我的任何代码执行之前它都失败了。我检查了所有我能想到的依赖项。
我在VS2008 Windows 7上开发了应用程序并部署到Windows 7和WinXP。
我需要一些建议 - 如何调试?
答案 0 :(得分:1)
调试此问题的最简单方法是使用Windbg,如果您知道并且有Tess博客可以解决此问题。
在Windows 7上,调试要容易得多,因为使用ETW的堆栈遍历功能。这里是托管代码中的how you can use
答案 1 :(得分:0)
好的,这就是我做的。
我在Project Properties的Application选项卡中禁用了Enable Application Framework。使用它可以使事情变得更容易,但更不透明。我再也不会用那根拐杖了!
通过使用您自己的Sub Main,您实际上可以看到并响应表单加载时发生的错误:
Public MainForm As frmSettings
Public Sub Main()
Try
MainForm = New frmSettings
Catch ex As Exception
Log.WriteToProgressLog("Error new form: " & ex.Message)
End Try
Try
MainForm.Show()
Catch ex As Exception
Log.WriteToProgressLog("Error Showing Form: " & ex.Message)
End Try
Try
Application.Run(MainForm)
Catch ex As Exception
Log.WriteToProgressLog("Error Running App: " & ex.Message)
End Try
End Sub
你可以使用它来全局查看表单。是的,我知道,纯粹主义者会抱怨,但我的理念是:我对零容忍政策零容忍。我甚至已知使用goto如果它使代码更有效和更容易阅读。安美居...
更改此内容后,我在实例化表单时遇到错误。原来的Microsoft.VisualBasic.PowerPacks.Vs.dll组件(我的表单上有一个单行控件,显然需要它)不是.Net 3.5发行版的一部分,所以你必须将它包含在你的应用程序中。那是怎么回事?并且默认情况下它未设置为复制本地。 WT ...?我错误地认为我只需要包含外部依赖项。非常适合.Net XCopy安装!