You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修复Visual Studio 2019后调试跳过代码的问题求助

调试时ADP.Fill(Tbl)被跳过的解决思路

修复Visual Studio 2019后,调试时出现部分代码正常执行、部分被跳过的异常,推测是选项设置或环境问题导致。具体表现为:执行到ADP.Fill(Tbl)代码行时,程序未执行该行就直接返回调用该方法的窗体,涉及的代码如下:

Dim FName As String = ""
With MainMenu.OpenFileDialog1
    .DefaultExt = "xlsx"
    .Filter = "Excel files (*.xlsx)|*.xlsx"
    .InitialDirectory = My.Settings.XLPath
    If .ShowDialog = DialogResult.Cancel Then
        Exit Sub
    End If
    FName = .FileName
    My.Settings.XLPath = Replace(FName, .SafeFileName, "")
    My.Settings.Save()
End With
Dim Tbl As New DataTable
Dim ShtName As String = ""
Dim CN As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & FName & 
    ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1""")
CN.Open()
Dim TblLst As DataTable = CN.GetSchema("Tables")
If TblLst.Rows.Count > 0 Then
    ShtName = TblLst.Rows(0)("TABLE_NAME").ToString
End If
Dim ODBCmd As OleDbCommand = New OleDbCommand("Select * From [" & ShtName & "]", CN)
Dim ADP As OleDbDataAdapter = New OleDbDataAdapter(ODBCmd)
ADP.Fill(Tbl)
Debug.WriteLine("Rows in Tbl: " & Tbl.Rows.Count)
CN.Close()
For Each Col As DataColumn In Tbl.Columns
    Debug.WriteLine(Col.ColumnName)
Next

以下是可行的解决思路:

  • 关闭"仅我的代码"调试选项:打开Visual Studio 2019的「工具」→「选项」→「调试」→「常规」,取消勾选「启用仅我的代码」。该选项会隐藏非用户编写的代码执行流程,若ADP.Fill内部抛出异常,可能会被直接跳过,表现为代码未执行。
  • 启用全异常捕获:点击「调试」→「窗口」→「异常设置」,勾选所有「公共语言运行时异常」。这样调试器会在任何异常抛出时暂停,能直接定位Fill方法内部的错误原因。
  • 匹配ACE驱动与项目位数:确认项目的平台目标(x86/x64)和已安装的Microsoft ACE OLEDB 12.0驱动位数一致。32位项目必须搭配32位驱动,64位项目搭配64位驱动,位数不匹配会导致Fill操作静默失败。
  • 添加异常捕获代码:在ADP.Fill(Tbl)周围包裹Try-Catch块,捕获并输出异常详情,快速定位问题:
Try
    ADP.Fill(Tbl)
    Debug.WriteLine("Rows in Tbl: " & Tbl.Rows.Count)
Catch ex As Exception
    Debug.WriteLine("Fill操作失败:" & ex.ToString())
End Try
  • 重置VS调试配置:若怀疑是自定义设置导致的异常,通过「工具」→「导入和导出设置」→「重置所有设置」,恢复默认调试配置,排除设置干扰。

内容的提问来源于stack exchange,提问作者Larry Stinson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 02:31:05