标签: visual-studio-debugging

调试 .NET Core 源代码 (Visual Studio 2019)

我使用 Visual Studio 2019 和 .NET Core 3 Web 应用程序。我想调试 .NET Core 源代码,所以当发生错误时,我可以深入研究代码并更详细地检查它。由于我找不到有关如何执行此操作的确切描述(即使在 Microsoft 文档站点上),我将尝试在此处总结我目前所知道的内容。

我在 Visual Studio 中有以下选项:

  1. 仅启用我的代码
  2. 启用 .NET 框架源步进
  3. 启用源服务器支持
  4. 启用源链接支持

前两个选项是互斥的。我想我应该选择第二个选项,虽然我不明白这个选项中的天气“.NET 框架”包括 .NET Core?

现在 .NET Core 是开源的并且可以在 GitHub 上使用,我不明白第三种与第四种选择。第三个应该允许我从 Microsoft 符号服务器中提取源代码(符号包含源代码吗?)而第四个应该允许我从 GitHub 中提取源代码?我需要一个还是另一个?

首先,我在Main方法中的CreateHostBuilder 上放置一个断点,选择第三个选项并运行应用程序。断点被击中后,我继续单步执行代码 ( F11),直到出现一条消息“未找到 GenericHostBuilderExtensions.cs”。它让我可以浏览它,但我不知道在哪里可以找到它。

让我们再试一次,这次选择第四个选项(并取消选择第三个)。现在,在断点被击中后,Visual Studio 让我通过Source Link下载前面提到的文件。我接受,但结果是消息

源链接错误:Azure DevOps:所有帐户的身份验证失败。使用“文件 -> 帐户设置...”添加新帐户或刷新凭据。

好吧,我使用我的 Microsoft 帐户登录。我还应该做什么?

我再重复一遍,这次选择第三和第四个选项。结果是一样的。

现在我选择另一个Source Link选项:“Fall back to Git Credential manager...”并重新开始。同样的结果。

当然,我在谷歌上广泛搜索并花了很多时间试图找到解决方案,但我遗漏了一些东西。我非常感谢您对上述选项的具体作用以及如何通过单步调试 .NET Core 源代码提供帮助。

debugging visual-studio-debugging asp.net-core visual-studio-2019

16
推荐指数
1
解决办法
8296
查看次数

无法从 Visual Studio 2019 16.6.2 调试 Blazor 托管的 webassembly 3.2.0

我安装了 Visual Studio 2019 16.6.2,以及 .NET Core 3.1.301 SDK 和所有必要的 Blazor 模板。

如果我创建了一个全新的 Blazor WebAssmbly 应用程序,我可以通过按Ctrl+从 Visual Studio 运行它F5,它会在我的活动浏览器窗口中打开一个新选项卡并正常启动。

但是当我按下 时F5,会打开一个新的、单独的浏览器窗口(这有点烦人),但页面会停留about:blank一段时间,直到 Visual Studio 中出现错误消息:

Failed to launch debug adapter.  Additional information may be available in the output window.

Unable to launch browser: 
"Could not open wss://localhost:5001/_framework/debug/ws-proxy?browser=wsAFFlocalhostA50821FdevtoolsFbrowserFceed3b95-58ac-470a-b10c-5d139cfd7117": timeout after 60000ms
Run Code Online (Sandbox Code Playgroud)

Blazor WebAssembly 应用程序是否“托管”并没有什么区别。

我已按照在 ASP.NET Core 中执行 HTTPS 中的步骤进行操作,但这并没有什么区别。

如果在等待about:blank窗口崩溃时,我在浏览器选项卡上手动打开客户端 url,应用程序将加载并命中调试器断点。在短短的一段时间之前,它不断的崩溃,如果我打Shift+ Alt+D总是得到以下错误: …

visual-studio-debugging blazor visual-studio-2019 blazor-client-side blazor-webassembly

16
推荐指数
4
解决办法
6594
查看次数

阻止visual studio在任务中打破异常

我有以下代码:

Task load = Task.Factory.StartNew(() => {//Some Stuff Which Throws an Exception});

try
{
    load.Wait();
}
catch (AggregateException ex)
{
    MessageBox.Show("Error!");
}
Run Code Online (Sandbox Code Playgroud)

当任务中抛出一个异常时,我希望它在try catch中被冒泡,而不是在导致异常的时候打破visual studio.

我尝试谷歌和一些建议我[DebuggerHidden]在我的方法之上添加它但它不起作用

c# debugging visual-studio-2010 visual-studio-debugging

15
推荐指数
2
解决办法
8499
查看次数

使用Visual Studio Compiler分析内联C++函数

当大量代码被编译器内联时,我怎样才能理解Windows上的C++分析数据?即我当然想要测量实际运行的代码,因此根据定义,我将测量代码的优化构建.但似乎我尝试实际设法解决内联函数的工具都没有.

我已经尝试过Visual Studio 2017 Professional和VTune 2018中的采样分析器.我试过启用/Zo,但它似乎没有任何影响.

我发现以下资源似乎表明只有Visual Studio Ultimate或Premium支持内联框架信息 - 这仍然适用于Visual Studio 2017吗?https://social.msdn.microsoft.com/Forums/en-US/9df15363-5aae-4f0b-a5ad-dd9939917d4c/which-functions-arent-pgo-optimized-using-profile-data?forum=vsdebug

这是一个示例代码:

#include <cmath>
#include <random>
#include <iostream>

inline double burn()
{
    std::uniform_real_distribution<double> uniform(-1E5, 1E5);
    std::default_random_engine engine;
    double s = 0;
    for (int i = 0; i < 100000000; ++i) {
        s += uniform(engine);
    }
    return s;
}

int main()
{
    std::cout << "random sum: " << burn() << '\n';
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在发布模式下使用Visual Studio编译它.或者在命令行上,尝试cl /O2 /Zi /Zo /EHsc main.cpp.然后尝试使用Visual Studio中的CPU Sampling Profiler对其进行配置.你最多会看到这样的事情: …

c++ profiling inline visual-studio visual-studio-debugging

15
推荐指数
1
解决办法
1452
查看次数

如何在Visual Studio 2012中调试SQL Server T-SQL

如何在Visual Studio 2012中的多层应用程序中调试T-SQL存储过程?

为了清楚起见,我想在VS 2012中的sproc中设置断点,并在同一个调试会话中从ASP.NET WebForms应用程序调用sproc时点击它.

执行与VS 2010相同的步骤时,不会在sproc内部触发断点.

在SQL Server 2008 R2 Express数据库上的sproc中调试T-SQL在Visual Studio 2010中按预期工作.

为了确保所有内容都已正确启用,我查看了VS 2010(此处)的说明,但VS 2012或.NET 4.5没有此类页面.

似乎缺少的步骤是启用"应用程序调试",但VS 2012中的"服务器资源管理器">"数据连接"上下文菜单中不存在此类选项.

VS 2010应用程序调试

在此输入图像描述

VS 2012没有应用程序调试

在此输入图像描述

t-sql sql-server debugging visual-studio-debugging visual-studio-2012

14
推荐指数
1
解决办法
3万
查看次数

如何调试Visual Studio 2012实例设计时

我正在开发WPF MarkupExtension并在设计时遇到错误.使用以前版本的Visual Studio 2010,可以启动Visual Studio 2010的第二个实例并附加到已运行实例的进程,设置断点并调试设计时行为.

但是在Visual Studio 2012中,我也可以附加到另一个Visual Studio 2012的进程,但是在第二个实例中没有加载符号,因此我无法像使用Visual Studio 2010那样调试设计时间.

如何运行此调试器?

我试过的事情:

  • "devenv.exe/RootSuffix Exp"技巧没有成功
  • 始终以管理员身份执行
  • 加载所有或默认符号
  • 使用和不使用本机代码进行调试(附加进程)
  • 使用和不使用.NET 4代码进行调试(附加进程)

wpf design-time markup-extensions visual-studio visual-studio-debugging

14
推荐指数
2
解决办法
4605
查看次数

NaoQi和Leap问题:类型'System.BadImageFormatException'的未处理异常......并且无法加载文件或程序集

目前,我遇到了一个我无法通过Google解决方案解决的问题.到目前为止,没有任何工作.当我编译Leap Motion代码并导入Naoqi C#库时,它工作正常.当我真的尝试使用一行代码连接到机器人时,我的程序崩溃了.我的程序设置为任何CPU构建..dlls是为Leap库和NaoQi库引用的.并且.dll放在debug文件夹和项目文件夹中以便进行测量.我还不知道这个问题到底是什么.

有人能在这里搞清楚吗?我很乐意让这个工作.

这是第一条错误消息,然后它要求我中断或继续:

An unhandled exception of type 'System.BadImageFormatException' occurred in LeapCSharp.NET4.0.dll

Additional information: Could not load file or assembly 'naoqi-dotnet4, Version=1.14.0.218, Culture=neutral, PublicKeyToken=b9b4e24bd78100d6' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,程序崩溃.这是此时控制台日志中的文本:

'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll'
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll'
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll'
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\Grace\Documents\Visual Studio …
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-debugging visual-studio-2012 nao-robot

14
推荐指数
1
解决办法
4万
查看次数

使用.NET便携式调试信息"不支持PDB格式"

过去几天我一直在寻找一个问题 - 结论是:

我的Visual Studio 2017调试器无法在.NET Framework项目中以"可移植"格式使用PDB.

随着便携式格式我的意思是将一个项目的设置,然后Build -> Advanced再选择portableDebugging information.

当我开始调试这样构建的.NET Framework项目时,断点不会受到影响.

断点当前不会被击中. 没有为此文档加载任何符号.

当我暂停调试器并找出它没有加载符号的原因时,它说(下Symbol load information):

不支持PDB格式

我可以使用任何.NET Framework项目重现这一点.目标框架似乎并不重要.我尝试了.NET 4.5.2和4.6.2.

但是,对于.NET Core项目,它工作得很好.

现在,奇怪的是,完全相同的项目在另一台计算机上工作正常.

所以,似乎我的计算机丢失了某些东西或者有错误的配置.但我的谷歌搜索没有发现任何东西.任何想法如何解决这个问题?

.net c# visual-studio-debugging pdb-files visual-studio-2017

14
推荐指数
1
解决办法
2151
查看次数

无法让 VSCode/Python 调试器找到我的项目模块

我有一个项目,正在尝试调试我的main.py. 我真的很困惑为什么我在运行调试器时从文件顶部的导入中(仅​​)收到以下错误:

Exception has occurred: ModuleNotFoundError
No module named 'bbb'
  File "/Users/maxepstein/myproject/bbb/train/__main__.py", line 8, in <module>
    from bbb.mysubfolder.myfile import myfunction
Run Code Online (Sandbox Code Playgroud)

我的项目文件夹结构,如这些打印语句所示(如调试器所示)确认我的“bbb”模块存在,并且有一个 __init__.py:

import os
print(os.getcwd())
print(os.listdir())
print(os.listdir('bbb'))

/Users/maxepstein/myproject
['requirements.txt', 'bbb', 'resources', '__init__.py', 'readme.md', 'results', '.gitignore', '.git', '.vscode', 'bbenv']
['config', 'tests', '__init__.py', 'utils', 'predict', 'train']
Run Code Online (Sandbox Code Playgroud)

我试图调试为“调试当前文件 - 集成终端”,下面是我的 debug settings.json 中适用的调试设置。在网上搜索后,我真的认为添加"cwd": "/Users/maxepstein/myproject"以下内容是我的解决方案,但没有帮助。

"version": "0.2.0",
"configurations": [
    {
        "name": "Python: Current File (Integrated Terminal)",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "integratedTerminal",
        "cwd": "/Users/maxepstein/myproject"
    }
Run Code Online (Sandbox Code Playgroud)

python debugging visual-studio-debugging visual-studio-code

14
推荐指数
4
解决办法
2万
查看次数

Visual Studio 无法附加到 Unity,为什么?



我正在使用带有 Unity 的 Visual Studio。一般来说,在 VS 中,我只需单击“附加到 Unity”,它就会构建解决方案并确实附加到 Unity。然而,有时一个项目失去了这样做的“能力”,这意味着突然点击按钮只会构建解决方案,而不会附加到 Unity。我真的很想知道那里发生了什么,因为我不知道做任何可能导致这种行为的事情。
有一些参数可能会产生影响:

  • 它仅发生在某些 Unity 项目中:项目要么“被感染”,要么从未发生(在我看来)
  • 如果它开始发生,它将一直发生,直到我重新启动 PC(关闭 VS 和 Unity 是不够的)

谢谢

c# debugging unity-game-engine visual-studio visual-studio-debugging

14
推荐指数
4
解决办法
8552
查看次数