我想知道是否可以配置visual studio 2008调试器以在线程以精确错误代码(或至少任何非零值)退出时停止执行.我的应用程序使用了大量的线程,因此无法手动跟踪它们.
当程序中的任何线程命中"exit(X);"时,有没有办法告诉VS2008中断?(X与0不同)和显示源?
multithreading exit-code visual-studio-2008 visual-studio-debugging
我继承了一个庞大的,老旧的代码库,我正在经历一种我从未见过的行为.有时,在调试时,如果我在Watch窗口中浏览对象或集合,调试器将挂起.它始终是相同的地方,相同的对象类型等.大约15秒后,Visual Studio回到我身边,但调试器不再工作,直到我重新启动调试会话.当我停止调试器时,我得到:
"Cannot detach from one or more processes: [6088] w3wp.exe:
All outstanding func-evals have not completed, detaching is not allowed
at this time."
Run Code Online (Sandbox Code Playgroud)
我必须终止该过程才能继续.
我已经阅读了足够的关于问题的理论,它与线程有关,但这比我的头脑还要高.我想知道是否有人遇到过此问题,如何找出具体问题,以及最重要的是如何预防.我甚至采取一种解决方案来阻止调试器进入该分支,以防止破坏我的调试器,因为它非常烦人.
欢迎提出任何建议.由于工作要求,我无法分享任何代码.
尝试调试引用工作流服务的控制台应用程序时,我收到一个奇怪的错误.
'调试时无法应用更改.重新加载源文件'...\myService\obj\Debug\TemporaryGeneratedFile _... cs'.您必须重新启动调试会话.
我没有做任何与众不同的事情,一旦我开始调试就会出现这种情况.这里有一个类似的问题VS2010中的调试问题,但唯一的答案建议重新启动Visual Studio /开发服务器,这对我没有帮助.有没有人有更好的解释和/或可能的解决方案?我已经尝试重新启动所有内容并查看错误消息中引用的临时文件,但没有运气.
JavaScript或Visual Studio中是否有任何内容可以检测代码是否在调试模式下使用?像C#中的"#if DEBUG",但是对于JavaScript?
在使用Visual Studio 2015调试ASP.NET Core应用程序时,我无法看到变量,参数和字段值,例如,当我将它们悬停时.我也无法将它们添加到手表中.我在调试中运行.
debugging visual-studio-debugging visual-studio-2015 asp.net-core
我正在研究.NET CORE 1.0 MVC 6应用程序,我坚持调试点,因为它昨天停止了打击.尝试我删除项目,然后重新开始.第一次加载符号,即使我在工具 - >调试 - >符号中取消选中,但它会命中断点.现在只有在我选择"启用我的代码"但在控制器中才能点击C#类'Startup.cs'.我从下拉列表中获得了调试选项,但不确定原因.需要帮助.
我换了
但仍然没有成功
public class HomeController : Controller
{
public IActionResult Index()
{
var x = 2 + 3;
return View();
}
public IActionResult About()
{
var x3 = 2 + 6;
var xx = "dd";
ViewData["Message"] = "Your application description page.";
return View();
}
Run Code Online (Sandbox Code Playgroud)
对于盒装int,例如object boxedInt = 0在代码中定义,is object并在Visual Studio的立即窗口中is int返回false.这是一个bug,不是吗?
码:
int normalInt = 0;
Debug.WriteLine(normalInt.GetType().FullName); // System.Int32
Debug.WriteLine(normalInt is object); // true
Debug.WriteLine(normalInt is int); // true
Debug.WriteLine(normalInt is System.Int32); // true
object boxedInt = 0;
Debug.WriteLine(boxedInt.GetType().FullName); // System.Int32
Debug.WriteLine(boxedInt is object); // true
Debug.WriteLine(boxedInt is int); // true
Debug.WriteLine(boxedInt is System.Int32); // true
Run Code Online (Sandbox Code Playgroud)
即时窗口:
normalInt.GetType().FullName
"System.Int32"
normalInt is object
true
normalInt is int
true
normalInt is System.Int32
true
boxedInt.GetType().FullName
"System.Int32"
boxedInt …Run Code Online (Sandbox Code Playgroud) 我使用 VS2017,当我按 F5 时得到以下信息
它只发生在某些项目中,即使我在 VS 选项下禁用了符号支持。尽管在过去,对于相同的项目,即使启用了符号支持,它也不会抛出。
因此,由于我认为这必须是某种特定于缓存的 VS 设置项目,因此我删除了 bin、obj、.vs、SymbolSource 文件夹但相同。
如果我启用 Just My Code 它不会抛出,但这不是我想要的,因为我无法调试我已经拥有符号的程序集。
据我所知,即使启用了符号支持,如果没有在 VS 选项中声明相关的符号服务器,它也不应该抛出。
这种行为不仅特定于 System.dll,而且即使我附加到我没有符号的外部进程也会发生,这意味着再次使用仅加载指定的模块 VS 选项进行过滤不是我正在寻找的。
那么,有没有人知道如何在允许对我配置的其他程序集使用符号支持的同时避免这种烦人的异常。
似乎是一个非常微不足道的问题,但令我惊讶的是,我发现网上没有提到这一点。
我有一个 Nunit 测试项目(别人写的,我不想改变太多),我需要调试。这些测试取决于它们使用 读取的环境变量Environment.GetEnvironmentVariable。
我的问题是:在 Visual Studio 中调试测试时,有没有办法传递环境变量?
我知道我可以在通过Project Properties->Debug调试可执行项目时传递环境变量,但这在运行测试时不起作用(例如通过Test Explorer)。我也知道我可以通过.runsettings文件传递测试参数,但这些只能通过TestContext类访问。
nunit environment-variables visual-studio-debugging test-explorer visual-studio-2019
有没有一种可靠的方法可以在 Visual Studio 中关闭 JavaScript 异常中断?
我正在为第三方产品开发 C# 模块,因此我无法修复 JavaScript 或删除它。
调试器不会考虑异常设置。我已经关闭了所有异常的中断。我已经进入选项菜单并禁用了所有 JavaScript 和即时调试。尽管如此,每次调试此页面时,我都会遇到未处理的 JavaScript 异常;由于第三方产品不断抛出错误,这种情况每 10 秒就会发生一次。
我已经关闭的东西:
c# ×3
debugging ×2
javascript ×2
.net ×1
asp.net-core ×1
exit-code ×1
hang ×1
nunit ×1
types ×1