标签: debugging

在调试期间在Visual Studio中自动附加到子进程

在为媒体中心编写插件时,你的插件会被托管在ehexthost.exe这个exe中ehshell.exe,你无法直接启动它,而是你传递了一个特殊的参数ehshell.exe,它将在一个单独的进程中启动插件.

当我们调试媒体浏览器时,我发现附加到第二个进程的过程有点笨重,我知道Debugger.Attach以及我可以使用的一些特殊注册表项.

这两种方法都不符合我的法案.我想要的是按F5并让我当前的visual studio实例自动附加到子进程.可以这样做吗?

如果有一个VS的插件允许我实现这个功能,我会很高兴.

编辑

我最终使用以下宏:

Public Sub CompileRunAndAttachToEhExtHost()

    DTE.Solution.SolutionBuild.Build(True)
    DTE.Solution.SolutionBuild.Debug()

    Dim trd As System.Threading.Thread = New System.Threading.Thread(AddressOf AttachToEhExtHost)
    trd.Start()

End Sub

Public Sub AttachToEhExtHost()
    Dim i As Integer = 0
    Do Until i = 50
        i = i + 1
        Try

            For Each proc As EnvDTE.Process In DTE.Debugger.LocalProcesses
                If (proc.Name.IndexOf("ehexthost.exe") <> -1) Then
                    proc.Attach()
                    Exit Sub
                End If
            Next
        Catch e As Exception
            ' dont care - stuff …
Run Code Online (Sandbox Code Playgroud)

.net c# debugging visual-studio visual-studio-debugging

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

在SQL Server 2008中调试存储过程

有没有办法在SQL Server 2008上调试存储过程?

我有权使用SQL Server Management Studio 2008和Visual Studio 2008(不确定是否提供此功能).

通常我使用SQL事件探查器来查找传递给存储过程的参数,但是希望能够逐步执行该过程以查看失败的位置.

这可能吗?

什么是最好的方法?(在快速找到错误的位置方面)

sql-server debugging sql-server-2008

36
推荐指数
2
解决办法
12万
查看次数

在Visual Studio 11中使用Chrome启用脚本调试

我有一个带有一些javascript的MVC 4 Web应用程序,它可以很好地与Internet Explorer配合使用,并且会出现Chrome问题.

我想在Visual Studio 11中使用Chrome作为浏览器进行调试,可以从调试下拉列表中选择:问题是我无法弄清楚如何启用脚本调试:当我通过常规警告调试断点时

没有为此文档加载任何符号

我知道我可能会直接在Chrome中调试脚本,但我更喜欢使用Visual Studio,因为它涉及到几个lenghty js库.

我可以从之前的帖子中看到,使用Visual Studio 2008是不可能的:有没有人知道用Visual Studio 11做到这一点的方法?

PS:附加Chrome进程无效,因为调试模式是"Native"而不是"Script"

PSII:我还尝试使用Attach to: Script CodeAttach ..菜单中的选项附加Chrome (这会将调试模式切换为脚本),但这也无济于事.

javascript debugging asp.net-mvc google-chrome visual-studio-2012

36
推荐指数
1
解决办法
2万
查看次数

iOS上的Mobile Safari在大页面上崩溃

我有一个问题,当页面变得太大时,在使用jQuery加载和操作DOM时,Mobile Safari会崩溃.

我在iPhone和iPad上都遇到了同样的问题.

对移动页面进行故障排除以查找错误的最佳方法是什么?是否存在可能导致Mobile Safari崩溃的已知问题?

javascript css debugging mobile-safari

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

如何在Javascript进入无限循环和递归调用时调试javascript?

当您处于无限循环或递归调用时,浏览器基本上会停止响应任何内容(在Chrome或FF上).你看不到日志,无法进入调试器,即使你无法打开控制台本身.浏览器只是冻结.这太烦人了.我似乎无能为力,只能坐在这里挠挠脑袋......任何人都可以解释如何解决这个问题?

javascript debugging

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

如何调试angular [$ injector:modulerr]错误

我的角度应用越来越多.我不时搞砸了,并得到了类型的错误:

[$injector:modulerr] Failed to instantiate module App due to:
Run Code Online (Sandbox Code Playgroud)

通常很难根据错误消息找到错误,特别是如果有许多文件有各种控制器等.

有没有办法在Chrome或Firefox中调试这些错误?

debugging runtime-error angularjs

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

如何在WinDbg中设置符号?

我正在使用Windows调试工具,并在启动WinDbg/cdb或ntsd时收到以下错误消息:

Symbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path.           *
* Use .symfix to have the debugger choose a symbol path.                   *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Run Code Online (Sandbox Code Playgroud)

执行任意命令时,我也会收到错误消息

*** ERROR: Module load completed but symbols could not be loaded for <module>.<ext>
Run Code Online (Sandbox Code Playgroud)

以下似乎是相关的:

*********************************************************************
* Symbols can not be loaded because symbol path is not initialized. *
*                                                                   * …
Run Code Online (Sandbox Code Playgroud)

debugging windbg debug-symbols

36
推荐指数
2
解决办法
7万
查看次数

你如何调试 Jest 测试?

我找不到关于调试用 Jest 编写的单元测试的任何信息。

你如何调试 Jest 测试?

debugging unit-testing typescript jestjs vscode-debugger

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

如何调试对象初始化代码?

有没有办法在Visual Studio中逐步调试对象初始化程序代码?

例:

return new Veranstaltung()
            {
                ID = tblVeranstaltung.VeranstaltungsID,
                Titel = tblVeranstaltung.Titel,
                KursNummer = tblVeranstaltung.Kursnummer,
                ErsterTermin = tblVeranstaltung.ersterTermin,
                Dauer = tblVeranstaltung.schulungsTage,
                StartZeit = tblVeranstaltung.BeginnZeit,
                EndZeit = tblVeranstaltung.Endzeit,
                KostenNettoValue = tblVeranstaltung.PreisNetto ?? default(decimal),
                IsLastMinute = tblVeranstaltung.lastMinute == 1,
                IsVerkuerzt = tblVeranstaltung.istVerkuerzt == 1,
                IsGeschlossen = tblVeranstaltung.istGeschlosseneVeranstaltung == 1,
                IsIntern = tblVeranstaltung.istInterneVeranstaltung == 1,
                StandortID = Convert.ToInt32(tblVeranstaltung.StandortID),
                LastMinuteRabatt = tblVeranstaltung.lastMinuteRabatt ?? default(decimal)
            };
Run Code Online (Sandbox Code Playgroud)

有时我在这种代码中遇到错误(例如当转换为int失败时)并且VS似乎无法单步执行它,它只会抛出整行的错误而我必须尝试哪些初始化失败.

是否有一种简单的方法来调试它,或者最好避免对象初始化器进行大型或复杂的初始化?

我正在使用VS 2010和C#4.0.

.net c# debugging object-initializers visual-studio

35
推荐指数
3
解决办法
3560
查看次数

Xcode:TEST vs DEBUG预处理器宏

在使用单元测试创​​建新项目时,Xcode将构建配置设置为Test for Test方案(与Run方案相同).

我应该区分Run(Command-R)和Test(Command-U)方案吗?

即,我应该创建一个名为Test的新构建配置,向它添加预处理器宏TEST = 1,并将其用作测试方案的构建配置吗?或者,我应该将Run&Test作为Debug进行保存吗?

我来自Ruby/Rails背景,您通常拥有测试,开发和生产环境.在我看来,Debug就像开发一样,Release就像生产一样,但是我们错过了一个测试,这就是我认为添加Test可能有意义的原因.

评论?意见?建议?

我特意问这个,因为我想为Test编译一些东西:

#ifdef TEST
// Do something when I test.
#endif
Run Code Online (Sandbox Code Playgroud)

如果我也为Debug编译它,我认为这不重要.所以,我真的可以做到:

#ifdef DEBUG
// Do something when I run or test.
#endif
Run Code Online (Sandbox Code Playgroud)

但是,我真的只打算在现在进行测试.所以,这就是为什么我认为我应该区分调试和测试,但我想知道为什么Xcode默认不为你做那个?Apple认为你不应该区分它们吗?

debugging xcode unit-testing buildconfiguration

35
推荐指数
6
解决办法
2万
查看次数