问题标签 [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.
javascript - 当我不是node.exe的调用者时如何在Windows上的nodejs中调试javascript
我正在尝试调试 nodejs 脚本(在 Windows 上)。我发现我可以通过使用“调试器”停止执行/在脚本中设置断点;陈述。然而,这似乎只有在 node.exe 调用为:
问题是我不是调用 node.exe 的人,所以我无法传递调试参数。实际上 node.exe 在 myscript.js 之前被多次调用。而 myscript.js 又被一些 other.js 调用。直接运行 myscript.js(在 other.js 之外)不起作用。
有没有办法等待调试器附加?
如果可能,解决方案应该使用一些 GUI 调试器(如 npm node-inspector)。
更新1:
要在应用程序中等待调试器,请使用:
将代码添加到 myscript.js:
运行您的脚本(即启动任何触发其执行的程序):
启动节点检查器:
打开一个新的 cmd.exe 并运行:
从同一个 cmd.exe 问题:
在调试脚本的输出中,您应该看到:
现在使用 Chrome(不是 Firefox,而是 Chrome)访问指定的 URL(http://127.0.0.1:8080/?port=5858)。你现在应该可以调试了。
我说应该因为在我的情况下它不起作用。如果我将 _debugProcess 发送到 3280(我的 myscript.js),则不会发生任何事情。但是,如果我将 _debugProcess 发送到 3944,我会得到“正在启动调试器代理”。信息。为什么?
xcode - 同时调试 Apple Watch 和 iOS 应用
直到今天,我已经能够同时构建、运行和调试我的手表应用程序和 iOS 应用程序。当我构建并运行时,调试器会自动附加到手表上。然后我必须手动附加 iOS 调试器。我一直在遵循这些步骤,并且它们始终运行良好。我可以在手表和手机上都打断点(这是我需要做的才能调试 sendMessage 或 applicationContext 之类的东西)。
现在的问题是,当我手动将 iOS 应用程序附加到调试器时(通过 Debug -> Attach to Process),它根本不会出现在可能的目标或应用程序中,即使应用程序正在运行电话。
我检查了我的计划并确保目标仍然正确——它们是正确的。
我什至尝试过调试-> 使用 PID 或名称附加到进程。当我尝试按名称附加 iOS 应用程序时,我收到一条错误消息Will install Watch App called with bad bundle identifier '(null)
.
为什么我的 iOS 应用不再可能成为目标?当我的手表应用程序也附加时,如何让它再次附加到调试器?
python - 使用 microsoft visual studio 附加到 linux 进程?
我正在 Microsoft Visual Studio 中开发 python,
python代码也在我有连接的linux操作系统机器上执行。
视觉工作室是否可以附加到linux进程,
出于调试目的?
visual-studio-2015 - VS2015 附加到特定命名 iis 网站的进程
升级到 Visual Studio 2015 后,我注意到附加到进程的 vscommands 不再可用。我发现这非常有用,因为我可以单击工具栏上的一个按钮,然后会打开一个对话框,其中包含我在代码库中拥有的所有网站。这让我可以随意挑选。
不幸的是,现在我必须单击“附加到进程”选项,然后在对话框中突出显示所有 w3wp 条目,因为无法区分网站。
我确实尝试过 ReAttach 插件,但这只会为您提供标准的 IIS/APPPOOL... 或 SYSTEM... 而不是网站名称。是否有人没有任何插件可以让您查看在 IIS 中配置的网站名称?
非常感谢
visual-studio - 编辑并继续仅在使用“启动外部程序”而不是附加到进程时有效
我在 C# 中有一个使用 Visual Studio 2010/2015 的 .NET 4.0 的 Excel-DNA 项目。
如果我启动调试并使用“启动外部程序”功能启动 EXCEL.exe,我可以暂停调试器,编辑并继续工作得很好。
但是,如果我尝试附加到正在运行的 EXCEL.exe 进程,我会收到一条错误消息,指出由于各种原因之一不支持编辑并继续。选择附加到进程时,我只选择了“托管(v4.6、v4.5、v4.0)”。
错误消息指出:
这两种情况有什么区别?“启动外部程序”与手动附加有什么不同?
c# - 将 Visual Studio 调试器附加到 VS IDE 主机
我正在尝试测试使用 Visual Studio 2015 Shell(隔离)的应用程序。
为了使用 Visual Studio 测试扩展包,我找到了旧版本的示例。它们看起来像这样:
我的问题是我无法调试这些测试,因为调试器没有附加到VS IDE
主机进程。有一次,我删除了 HostType-annotation,我可以设置断点并对其进行调试,但是测试并没有在正确的进程中运行。我通过在测试中编写一个无限循环然后手动附加到启动的进程(这将启用调试)来验证附加不起作用。
有没有办法在开始测试时自动将 Visual Studio 调试器附加到启动的进程,这样我就可以在没有手动“附加到进程”步骤的情况下进行调试?
编辑:
我尝试了几种解决方案,但到目前为止没有任何效果:
- 如何在通过 MSTest 进行集成测试期间托管 VS IDE?启动了 Visual Studio 但不是我的应用程序
- Visual Studio:生成进程时自动附加到进程的结果好坏参半。
Debugger.Launch
有效,但仍需要接受繁琐的“选择调试器...”对话框 - Microsoft 自己建议的自动附加调试器的方法不起作用,因为它总是在启动应用程序时启动 jit-debugger,而不仅仅是在运行(和调试)测试时。
monodevelop - 如何从 flatpak 内部的 monodevelop 附加到进程
我通过 FlatPak ( http://www.monodevelop.com/download/linux/ ) 安装了 MonoDevelop 6。现在我正在尝试附加到正在运行的进程以便能够对其进行调试。但是我在 MonoDevelop 下的 Run --> Attach to Process 中看到的只有四个进程,我猜是在 FlatPak 沙箱内部。
如何附加到在 FlatPak 中运行 MonoDevelop 的进程?
visual-studio - 被调试的进程究竟如何损害调试进程(机器)?
每当想要从 Visual Studio 附加到进程时,都会收到以下讨厌的消息:
这个问题及其答案显示了摆脱它的斗争。这篇Microsoft 文章告诉我们附加调试进程/机器的潜在危险:
但是,许多开发人员没有意识到安全威胁也可能朝相反的方向发展。被调试进程中的恶意代码可能会危及调试机器的安全性:有许多安全漏洞需要防范。
问题:被调试的进程如何能够利用调试进程?(我只对几个亮点感兴趣,因为我想人们可以写一本关于它的书)。
而且,在本地机器的w3wp.exe
进程上调试时出现这个警告的目的是什么(我想绝大多数调试会话都发生在开发机器内)。如果本地机器的 w3wp 进程受到威胁,那么无论如何你都会遇到大麻烦。
node.js - 将 Visual Studio 调试器附加到电子应用程序
我正在尝试从头开始从 Visual Studio 2017(而不是 vscode)调试电子应用程序。
我创建了一个控制台 nodejs 项目,安装并保存电子。项目结构:
内容app.js
(取自电子网站):
和index.html
但是,当我单击开始时,电子应用程序会启动,但调试过程似乎会自行分离。当我尝试手动将调试器附加到所有电子进程(调试 -> 附加到进程 -> 选择所有电子进程)时,由于没有加载任何符号,因此断点声称不会被命中。
有没有我错过的步骤?既然可以在 VSCode 上进行调试,那我假设它也可以在 VS2017 上进行?
非常感谢。
注意:我确实选中了 Suppress JIT optimization 并取消选中 Enable only my code。
c++ - 通过附加到进程的内存泄漏检测
我正在开发一个在更大的应用程序中运行的 Visual Studio 2008 插件 DLL。我可以在调试中构建它,附加到进程,并逐步执行我的代码。我现在遇到的主要问题是内存泄漏检测。
通常我使用 VLD,但这似乎只在我从 Visual Studio 启动可执行文件时给我输出。即使在终止托管我的插件的主程序之后,VLD 也没有通过附加到进程给我任何输出。
我可以构建自己的测试容器,但这需要一些时间,而且它仍然不会涵盖大部分功能。
有没有一种简单的方法可以通过附加到进程来进行内存泄漏检测?
我试过 _CrtDumpMemoryLeaks(),但是它不起作用,它没有检测到像这样的简单行
int * memoryleak = new int[5000000];
它通常在直接从 Visual Studio 中运行时检测到
任何帮助表示赞赏,谢谢!