问题标签 [attach-to-process]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
477 浏览

c# - WPF 将调试器传递给新生成的进程

我有一个产生新进程的应用程序。在应用程序的开发过程中,我想将调试器附加到新进程。目前我可以通过 Visual Studios 附加到进程功能来做到这一点,但是当我需要测试对代码的微小更改时,每次手动附加它是很痛苦的。

是否可以使用 Process.Start 生成一个新进程,然后将当前附加到当前进程的任何调试器附加到进程上?

IE:

启动 Process1 并启用调试
Process1 启动 Process2
Process1 将调试器附加到 Process2

0 投票
2 回答
2164 浏览

c - Mac OS X Mavericks - gdb - 附加到进程时无法设置断点

我最近从 Mac OS X 10.7 升级到 10.9。由于 OS X 不再支持 gdb,我通过 macports 安装了 GNU gdb。在能够使用它之前,我必须按照这里的描述对其进行代码设计。现在我可以使用 gdb 作为调试器,但是在附加到进程时设置断点时遇到问题。我给你举个例子。我拿了这个示例 C 代码

并编译它

如果我现在尝试通过做调试

并在 gdb 中运行它,结果如下(如预期的那样)

所以我所做的就是打开 gdb,在函数 f() 处设置断点,运行程序,然后在 f() 内停止时简单地发出 continue 命令。如果我现在执行相同操作但附加到已运行的进程,则无法设置断点,并且在发出 continue 命令以使进程在附加后继续时也会出错。结果如下:

因此,首先在附加时,gdb 没有提供有关代码中当前位置的任何信息(0x00007fff8516da3a in ?? ()),这可能没问题,因为我很可能在进程处于 sleep() 函数时停止了该进程.

但是,当我尝试在 f() 处设置断点时,出现“无法访问内存”错误,并且断点显然没有设置。事实上,当我发出 continue 命令时,该过程会照常继续并终止,而不会在 f() 处停止。

此外,在尝试继续时,我还会收到此“Mach error at [...] (os/kern) failure (0x5)”。即使使用设置断点也不起作用

我也尝试搜索网络和stackoverflow,但我没有找到这个问题的答案。任何帮助表示赞赏。

0 投票
3 回答
4933 浏览

c# - 如何在 Visual Studio 2010 中调试带有附加到进程的构建 .exe

所有,我在我的机器上安装了一个构建,并且一些功能在代码中运行良好(在两种模式下发布和调试)但该功能不仅仅在构建中工作。所以,我想使用附加到进程来调试那个.exe。因此,我从桌面快捷方式启动 buid .exe 并将 Visual Studio 附加到该 .exe 但 Visual Studio 说那里没有 .pdb 文件,因此无法调试。所以,一个选择是这个

  1. 在调试模式下构建项目,应该将dll和pdb复制到程序文件中安装构建的文件夹中是吗??它会工作。

或者我必须做其他事情来调试该代码。

0 投票
2 回答
509 浏览

c# - 当我按 F5 时,会打开一个“附加到进程”窗口

我有很多不同的 C# 源项目可以在其他计算机上运行良好。

但是在一台计算机上,使用 Visual Studio 2013,当我按 F5 运行项目时,“附加到进程”窗口打开。

我搜索了很多,但没有人遇到我的问题。为什么会这样?我该如何解决?


编辑:

我用 C# 配置重新安装了 VS,但它没有改变任何东西。Start Debugging 选项被禁用,就像下面的屏幕截图一样:

0 投票
1 回答
82 浏览

c# - 调试在 Visual Studio IDE 中不会发生的 .NET 崩溃

当我第一次在 Visual Studio IDE 之外运行我的 C# WinForms 可执行文件时,我收到了以下对话框:

因此,我使用 Visual Studio 的 Attach to Process 附加到该进程,这表明该程序已暂停InitializeComponent()(但没有提供进一步的线索)。

我编辑了应用程序,在上述代码周围放置了一个 try/catch 块,这使我可以打印以下MessageBox输出:

如您所见,这表明应用程序无法找到所需的 DLL。

我的问题:我是否可以在不修改应用程序的情况下实现这个结果(也就是说,没有 try/catch 块打印出细节)?Visual Studio 附加到进程功能能否引导我解决缺少 DLL 的具体问题?如果是这样,怎么做?

0 投票
0 回答
289 浏览

c++ - Microsoft Visual Studio 2010 无法找到或打开 PDB 文件 - McAfee

我正在尝试在 Microsoft Visual Studio 2010 中调试我的 C++ 程序——在进行了一些更改后刚刚重新编译了代码,运行了程序,现在我正在尝试附加到进程(调试 - > 附加到进程...)。

但是,当我这样做时,会出现一个我以前从未见过的错误:

“AMSCDNUSimulatord.exe”:已加载“C:\Program Files (x86)\McAfee\Host Intrusion Prevention\HcApi.dll”,找不到或打开 PDB 文件

线程“Win32 线程”(0x1c04) 已退出,代码为 0 (0x0)。

我没有做任何与我通常做的不同的事情(构建项目,将“AMSCDNUSimulatord.exe”(我的程序的调试可执行文件)从工作区复制到程序的发布文件夹 - 覆盖现有的 .exe 文件),运行程序,并从 Visual Studio 的“调试”菜单附加到进程。

这通常完全没有问题 - 但由于某种原因,我现在在 Visual Studio 的控制台中遇到上述错误......有人知道吗?

我没有更改 McAfee 的任何配置或任何东西,所以想不出它为什么会抱怨这一点。

我已尝试按照以下回答中的建议检查“符号位置下的 Microsoft 符号服务器”:Visual Studio 2010“无法找到或打开 PDB 文件”,但这似乎没有任何区别。

关于我的项目的设置,源码在文件夹C:\Workspace\Simulator中,也就是构建项目时的.exe文件所在的位置。然后我从 运行发布C:\workspace\release\Simulator,所以我将 .exe 从第一个文件夹复制到第二个文件夹,然后从那里运行它。问题是,我已经完全遵循该方法几个月了,并且之前在运行程序和附加到进程时从未遇到任何问题,所以我怀疑这个问题与我所做的更改有关到代码...但是 McAfee 现在如何/为什么会阻止我附加到该过程?

0 投票
1 回答
847 浏览

visual-studio-2015 - 如何在 Visual Studio 2015 中开始调试时自动附加 Web 项目以处理“MicrosoftEdgeCP.exe”(Microsoft Edge)

因为我刚刚更新到 Windows 10 和 Visual Studio 2015,所以我遇到了这个问题中描述的问题,并由 Shaun Luttin 正确回答。

除了那个问题,我想问一下这个过程是如何自动执行的。

需要明确的是,我希望 Visual Studio 2015 在选择 Edge 时像在 IE 中调试项目一样,这意味着打开浏览器选项卡/窗口并在开始调试时附加该过程以处理 VS 中的服务器端和客户端代码。

作为补充,也许有人可以解释是否需要这种行为或错误或其他东西。

0 投票
1 回答
371 浏览

c# - 附加/调试由第三方应用程序动态加载的插件 DLL?

我正在为第 3 方应用程序编写一个插件(我只有 .EXE 和 dot net .DLL )。

我编写插件的方式是创建一个 Visual Studio C# 库项目,添加来自 3rd 方应用程序的 .EXE 和 .DLL 文件作为参考,然后扩展 .DLL 中定义的IPlugin类。

构建项目后,我将插件的 .DLL 复制到第 3 方应用程序的插件目录,然后启动应用程序。从那时起,我真的不知道那时会发生什么。我猜应用程序通过扫描插件文件夹来动态加载我的 DLL,然后加载它(所有这些我一无所知的东西)。

此时,应用程序作为 .EXE 运行。

有没有一种方法可以使用 Visual Studio 附加到 .EXE(进程),然后调试从该进程运行的 DLL 代码?

我知道我的代码在某处“在那里”,但由于它不是 .EXE,我不知道如何附加到它。谢谢,

0 投票
1 回答
164 浏览

c# - 如何自动将进程附加到 VS 的特定实例?

我正在尝试使用以下代码将进程附加到 VS:

我的问题是我无法控制它附加到哪个 VS 实例。通常它是我打开的第一个 VS 窗口。

如何获取所有打开的 VS 实例的列表?非常感谢您!

0 投票
1 回答
834 浏览

asp.net-mvc-5 - Visual Studio 2015 / MVC 5:附加到进程:无法获取局部变量的值

我可以很好地连接到我的 IIS 盒子上的 w3p 进程。我可以通过,虽然它似乎跳过了一些领域。此外,当我尝试查看变量值时,我得到:

在此处输入图像描述

我已经看到很多关于这个主题的答案,但它们都面向本地调试。我正在连接到服务器并得到它。

我有源代码,并且正在从事该项目。如果我将应用程序发布到配置设置为“发布”的服务器,这有关系吗? 发布