为啥 Visual Studio 不调试我的 VB.NET 应用程序?
Posted
技术标签:
【中文标题】为啥 Visual Studio 不调试我的 VB.NET 应用程序?【英文标题】:Why doesn't Visual Studio debug my VB.NET application?为什么 Visual Studio 不调试我的 VB.NET 应用程序? 【发布时间】:2013-10-07 22:31:22 【问题描述】:我最近在我的项目中遇到了一个奇怪的问题:当我单击调试并构建项目时,它会停止调试。没有任何错误消息或任何其他出现,包括表单本身。
我试过弄乱设置:没有启动画面,我什至将启动表单更改为空白的 Windows 表单。什么可能导致这个问题?是 Visual Studio 还是我的代码?
【问题讨论】:
几年后我遇到了同样的问题,我进入调试设置并关闭了“仅启用我的代码” - 认为这可能会对某人有所帮助 【参考方案1】:可能您的程序正在正常退出。在要执行的第一条语句处设置断点,按 F5,然后单步执行程序,直到执行到最后一条语句。
如果第一个语句从未到达,那么可能发生了以下两种情况之一:
您弄错了先执行哪个语句,或者
程序在初始化期间终止,可能是因为类构造函数正常或异常退出程序。
【讨论】:
我在“Form_load”方法中设置了一个断点,但是,它永远不会到达第一条语句。我假设它是#2;我尝试更改首先加载哪个表单,但它不起作用。这是一个突然的变化。我以前可以运行它,但现在无法运行,而且据我所知,我没有更改任何代码。接下来我该怎么做?如何诊断此问题? 检查你的暗淡陈述。如果有任何初始化 ( = ) 或实例定义 ( as new ),则将该部分移到暗淡下方。如果在表单初始化之前出现问题,它可能不会报错(即使应该报错)。 另外,检查项目属性、应用程序、启动对象并确保它是您期望的形式。您可以将项目设置为在任何窗体或子窗体上启动。 另外看看VS中的输出窗口,看看有没有什么显示在那里。还要检查 Windows 事件日志。要尝试的另一件事是导航到 .exe 并直接从命令行或 Windows 资源管理器运行它,看看是否有任何事情发生。 @ChrisDunaway 尝试启动 exe,但没有成功。如何在 XP 上找到事件日志?看着输出窗口 | xpda:看看我在 Derek 的回答中的最后一条评论;我单踩它。在初始化之前似乎是一个错误。另外,启动对象是什么意思?我说我试着改变启动形式,还是有什么不同?谢谢。【参考方案2】:一些想法:
使用 Debug->Exceptions,并选中所有复选框,以便在抛出异常时中断。
使用 Debug->Step into 进入你的代码。
然后您可以使用 Step Over 和 Step Into(查看键盘快捷键的菜单)
【讨论】:
但是没有异常通知;我认为那会被贴上标签。 您可能是对的,但您可以尝试一下。你真的应该尝试“Debug-->StepInto”并开始进入代码:) 试过了,它加载了一个新页面,上面写着“没有为任何调用堆栈框架加载符号。源代码无法显示。”它还说调用堆栈的位置,你想要吗? 我会说尝试继续前进,直到您遇到一些代码。了解步进/退出/跳过的键盘快捷键。你做了例外的想法吗? 尚未尝试过异常。另外,第二步是我的第一行代码,即选择组合框中的第一项,该组合框中已经填充。另外,我尝试将其注释掉。【参考方案3】:我找到了解决办法,但不是问题所在。
我是如何解决的:
我刚刚为每个表单创建了一个模板,创建了一个新项目,并将所有内容导入到新项目中。我发现在新项目中有用的一件事是添加一个现有项目(CTRL + D
),然后分组选择(也许,不知道是否可以)并选择所有非代码/表单/设计器/等.文件(如文本文件或图像),然后导入它们。
【讨论】:
【参考方案4】:在遇到同样的问题后,我找到了可能的解决方案。
您的解决方案中可能有多个项目(可能是主项目,加上一个“InstallShield”项目)
确保您已将主项目设置为“启动项目”。
在解决方案资源管理器中,右键单击主项目并选择“设置为启动项目”。 然后一切都会正常运行。
【讨论】:
【参考方案5】:如果您收到如下错误:“调试模式是程序,但没有指定程序.....”转到解决方案资源管理器,然后右键单击主项目的名称,然后单击设置为启动项目。你可以调试你的程序。
【讨论】:
以上是关于为啥 Visual Studio 不调试我的 VB.NET 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在 Visual Studio 2008 的工具下没有调试选项?
从 Visual Studio 2012 调试 VB6 代码
为啥 Visual Studio 不能在“不调试就启动”模式下打开文件?