标签: visual-studio-debugging

如何在Visual Studio 2012+中过滤输出?

Debug.WriteLn在Visual Studio 2015中检查输出中的特定内容时遇到问题.(2012和2013版也是如此.)

XCode和Eclipse都在Output窗口顶部包含一个过滤器框.我试图为Visual Studio找到类似的扩展,但我没有运气.有没有办法有类似的功能并过滤输出窗口?

visual-studio visual-studio-debugging

18
推荐指数
4
解决办法
9517
查看次数

Lazy <T>:"函数评估需要所有线程运行"

我有一个带有一些静态属性的静态类.我在静态构造函数中初始化了所有这些,但后来意识到它是浪费的,我应该在需要时懒惰加载每个属性.所以我切换到使用该System.Lazy<T>类型来完成所有脏工作,并告诉它不要使用它的任何线程安全功能,因为在我的情况下执行始终是单线程的.

我最后得到了以下课程:

public static class Queues
{
    private static readonly Lazy<Queue> g_Parser = new Lazy<Queue>(() => new Queue(Config.ParserQueueName), false);
    private static readonly Lazy<Queue> g_Distributor = new Lazy<Queue>(() => new Queue(Config.DistributorQueueName), false);
    private static readonly Lazy<Queue> g_ConsumerAdapter = new Lazy<Queue>(() => new Queue(Config.ConsumerAdaptorQueueName), false);

    public static Queue Parser { get { return g_Parser.Value; } }
    public static Queue Distributor { get { return g_Distributor.Value; } }
    public static Queue ConsumerAdapter { get { return g_ConsumerAdapter.Value; } }
}
Run Code Online (Sandbox Code Playgroud)

在调试时,我注意到了一条我从未见过的消息: …

c# lazy-loading visual-studio-2010 visual-studio visual-studio-debugging

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

为什么Visual Studio无法在这个简单的C#属性上设置条件断点?

在我的C#对象中,我使用value == "Status"此属性的setter中的条件设置了条件断点.通常它用PostSharp方面装饰,但我在这种情况下评论说它仍然有问题.

public virtual string Name
{
    get
    {
        return _name;
    }
    set
    {
        _name = value; // breakpoint here
    }
}
Run Code Online (Sandbox Code Playgroud)

第一次执行到达断点时,VS显示错误:

Visual Studio MessageBox

编辑 - 对于可搜索性,消息是这样的:

无法设置以下断点:

在(文件).cs,第137行第17个字符('(class).Name',第12行),当'value =="Status"'为真时

功能评估需要运行所有线程.

这是Threads窗口的样子:

调试器线程窗口

以前有人见过这个,或者有什么想法可能会导致调试器对这个看似简单的情况感到不满?它可能与睡眠线程有关吗?

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

17
推荐指数
1
解决办法
3756
查看次数

为什么Visual Studio 2010中的F10(跳过)不起作用?

我也试过2个解决方案.但它没有用.

  1. 转到Visual Studio中的"工具">"选项"菜单.
  2. 转到左窗格中的"调试">"常规"菜单项.
  3. 在右视图中,您将看到并选择跳过属性和运算符(仅限托管).取消选中此选项,然后就可以了.

  1. 转到Visual Studio中的"工具">"选项"菜单.
  2. 转到左窗格中的"调试">"常规"菜单项.
  3. 在右视图中,您将看到并选择"启用我的代码"(仅限托管).取消选中此选项,然后就可以了.

visual-studio-2010 visual-studio-debugging

17
推荐指数
5
解决办法
3万
查看次数

visual studio F5,ctrl + F5或在visual studio外面运行有什么不同?

我在vc ++中编写了一个程序,在各种情况下具有不同的行为,如下所示.

当我通过F5运行它时,它在释放模式下正常工作.

当我通过ctrl + F5运行它时,当我开始向程序发送数据时它会崩溃.

在视觉工作室之外,它立即崩溃.

我不知道如何找到这个bug.有关这些案件之间有何不同之处的任何想法?

c++ debugging visual-c++ visual-studio-debugging

17
推荐指数
2
解决办法
3万
查看次数

Visual Studio如何知道源文件是否与原始版本匹配?

我想出了.NET程序集.dll文件如何使用GUID(博客)映射到.pdb .当我调试到一个程序集并询问源代码时,如果我导航到一个文件,它可能会告诉我源代码与原始代码不同.怎么知道这个?我期望.pdb文件包含每个文件的校验和,但它似乎没有.我发现转储调试信息的最佳工具是dia2dump.C++ .pdb文件有MD5条目,但C#.pdb文件没有.

C++ dump
dia2dump -f dia2dump.pdb> dia2dump.pdb.files.txt

C#dump
dia2dump -f Autofac.pdb> Autofac.pdb.files.txt
dia2dump -all Autofac.pdb> Autofac.pdb.all.txt

我在"全部"转储中错过了什么?

它必须使用校验和.如果我在Module.cs中更改单个字符,我会得到:
在此输入图像描述

在哪里可以找到.pdb中引用的源文件的校验和?

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

17
推荐指数
1
解决办法
1786
查看次数

在客户端的计算机上调试版本

我们有一个使用Visual Studio 2005构建的本机C++ Win32 .exe,它可以在我们内部测试的所有机器上完美运行(XP 32位,Vista 32位和Windows 7 64位).但当然,它在客户端的32位Vista机器上反复崩溃.

在几个网站上挖掘我发现花絮表明我是否将PDB文件(vc80.pdb和projectName .pdb)以及可执行文件的Release版本发送给客户,有一些方法可以在发生崩溃时生成小型转储.然后,我可以将崩溃转储加载到Visual Studio中,并获取堆栈跟踪和一些其他有用的信息.微软的Dr. Watson实用程序似乎也参与了这个过程.

但我找不到任何关于实现这一目标的步骤的明确指示

  • 什么文件要发货?
  • 如何生成崩溃转储?
  • 以及如何将其加载到VS?

有人可以描述这个过程吗?

c++ debugging visual-studio visual-studio-debugging pdb-files

16
推荐指数
3
解决办法
2439
查看次数

每次我尝试使用错误CLR20r3进行调试时,Visual Studio 2012都会崩溃

每次我尝试调试我的一个应用程序时,我收到以下错误消息.有人有主意吗?我尝试在安全模式下运行Visual Studio,但我得到同样的东西.我也尝试修复安装并完全重新安装它没有运气:(.完整的问题签名是这样的:

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: devenv.exe
Problem Signature 02: 11.0.50727.1
Problem Signature 03: 5011ecaa
Problem Signature 04: Microsoft.IntelliTrace.Package.11.0.0
Problem Signature 05: 11.0.50727.1
Problem Signature 06: 5011dad8
Problem Signature 07: 311
Problem Signature 08: 1f1
Problem Signature 09: System.AccessViolationException
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

错误图片http://oi46.tinypic.com/sgjs5u.jpg

visual-studio intellitrace visual-studio-debugging visual-studio-2012

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

我正在寻找一种在VS2012中通过NatVis显示UUID的正确方法

我正在寻找一种在VS2012中通过NatVis显示UUID的正确方法.我自己的uuid类型在内部使用UUID big-endian,因此转换为(GUID*)不起作用,因为GUID在Windows中使用little-endian.所以我总是看到一个歪曲的uuid.

此外,Natvis中的任何格式说明符看起来都不好,因为在使用十六进制表示法时我无法摆脱输出中的0x.有任何想法吗?

c++ debugging visual-studio-debugging visual-studio-2012 natvis

16
推荐指数
3
解决办法
2130
查看次数

Visual Studio 2012和Qt4.8.5:如何在调试模式下查看QString内容.

我使用visual studio 2012和Qt4.8.5,遗憾的是当我在调试模式下工作时,我看不到QString文本变量.有人有提示允许吗?VS2012不存在Qt4.8.5插件.

非常感谢

泽维尔

visual-studio-debugging qt4.8 visual-studio-2012

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