为啥 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 在调试时会跳过我的方法?

为啥我在 Visual Studio 2008 的工具下没有调试选项?

从 Visual Studio 2012 调试 VB6 代码

为啥 Visual Studio 不能在“不调试就启动”模式下打开文件?

为啥我的 exe 文件无法从 Visual Studio 2015 的调试或发布文件夹中打开?

为啥我的电脑为弹出visual Studio 实时调试器啊?