我使用 Visual Studio 2019 和 .NET Core 3 Web 应用程序。我想调试 .NET Core 源代码,所以当发生错误时,我可以深入研究代码并更详细地检查它。由于我找不到有关如何执行此操作的确切描述(即使在 Microsoft 文档站点上),我将尝试在此处总结我目前所知道的内容。
我在 Visual Studio 中有以下选项:
前两个选项是互斥的。我想我应该选择第二个选项,虽然我不明白这个选项中的天气“.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
我安装了 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
我有以下代码:
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]在我的方法之上添加它但它不起作用
当大量代码被编译器内联时,我怎样才能理解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对其进行配置.你最多会看到这样的事情: …
如何在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中的"服务器资源管理器">"数据连接"上下文菜单中不存在此类选项.


t-sql sql-server debugging visual-studio-debugging visual-studio-2012
我正在开发WPF MarkupExtension并在设计时遇到错误.使用以前版本的Visual Studio 2010,可以启动Visual Studio 2010的第二个实例并附加到已运行实例的进程,设置断点并调试设计时行为.
但是在Visual Studio 2012中,我也可以附加到另一个Visual Studio 2012的进程,但是在第二个实例中没有加载符号,因此我无法像使用Visual Studio 2010那样调试设计时间.
如何运行此调试器?
我试过的事情:
wpf design-time markup-extensions visual-studio visual-studio-debugging
目前,我遇到了一个我无法通过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) 过去几天我一直在寻找一个问题 - 结论是:
我的Visual Studio 2017调试器无法在.NET Framework项目中以"可移植"格式使用PDB.
随着便携式格式我的意思是将一个项目的设置,然后Build -> Advanced再选择portable下Debugging 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
我有一个项目,正在尝试调试我的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)
我正在使用带有 Unity 的 Visual Studio。一般来说,在 VS 中,我只需单击“附加到 Unity”,它就会构建解决方案并确实附加到 Unity。然而,有时一个项目失去了这样做的“能力”,这意味着突然点击按钮只会构建解决方案,而不会附加到 Unity。我真的很想知道那里发生了什么,因为我不知道做任何可能导致这种行为的事情。
有一些参数可能会产生影响:
谢谢
c# debugging unity-game-engine visual-studio visual-studio-debugging
debugging ×5
c# ×4
.net ×1
asp.net-core ×1
blazor ×1
c++ ×1
design-time ×1
inline ×1
nao-robot ×1
pdb-files ×1
profiling ×1
python ×1
sql-server ×1
t-sql ×1
wpf ×1