C 我们能否在创建流程后立即以编程方式将流程附加到VS?

C 我们能否在创建流程后立即以编程方式将流程附加到VS?,c,debugging,visual-studio-2008,process,pid,C,Debugging,Visual Studio 2008,Process,Pid,可能重复: 我有一个C语言的应用程序。我正在使用VS2008进行开发。我需要通过将进程附加到VisualStudio来调试C代码。在正常情况下,可以简单地附加该过程,但这里有点棘手 以下是场景: 问题是,应用程序在运行时,即创建进程时,会立即发出一些不需要的消息。时间太短,无法获取PID并将其连接到VS 我现在的问题是: 我们能做些什么(编写一些程序或有一些变通方法)以便在创建过程后立即附加它吗 提前谢谢 问候,, Abhishek Anand最简单的方法是在源代码的开头设置一个断点,然后使用

可能重复:

我有一个C语言的应用程序。我正在使用VS2008进行开发。我需要通过将进程附加到VisualStudio来调试C代码。在正常情况下,可以简单地附加该过程,但这里有点棘手

以下是场景:

问题是,应用程序在运行时,即创建进程时,会立即发出一些不需要的消息。时间太短,无法获取PID并将其连接到VS

我现在的问题是:

我们能做些什么(编写一些程序或有一些变通方法)以便在创建过程后立即附加它吗

提前谢谢

问候,,
Abhishek Anand

最简单的方法是在源代码的开头设置一个断点,然后使用Visual Studio开始调试应用程序。您可以使用F5或Debug |开始调试菜单项来执行此操作

如果您必须等待另一个进程来启动出错程序,则下载并安装“Windows调试工具”(如果尚未安装)。可以在这里找到:

它是Microsoft提供的免费调试工具,用于在所有受支持的Windows操作系统上进行调试

它包括一个名为GFlags的实用程序。使用GFlags在目标程序上设置自动调试选项。这是设置系统启动调试器的最简单方法,调试器将在目标应用程序启动时自动启动。我更喜欢使用WinDbg.exe(它包含在工具包中),但如果愿意,可以将Visual Studio启动作为调试器


上面的链接包括调试帮助的链接。

这与“如何在程序执行的最开始设置断点”的问题不同。这个问题是如何在创建进程中设置断点,而这只是一个基本的“如何在目标应用程序启动时自动附加调试器?”不同之处在于,用户问的是一个基本的正常调试问题,它有几个答案。在加载所有标准DLL之前,此用户不指定。另一个问题是调试的特殊情况,它有一个特定的答案。