识别命令行参数

可能重复:
Windows程序:如何窥探命令行参数?

我在Windows XP下工作。

我已经得到了一些第三方软件,启动时产生了几个进程。 我一直负责为这个软件写一个替代品,但是我需要保留一个程序(一个“通信服务器”,把消息传递给其他联网机器上的相同“通信服务器”/从其他通信服务器接收消息)。 这个过程的一小部分是学习直接启动“通信服务器”。 如果我只是从命令行没有参数启动它,它立即死亡。 我想这需要一些论据。 所以,我所有的问题归结为…

对于任何一个任意的过程,是否有可能看到它开始的论点? 如果是这样,我该怎么办?

我试图附加Visual Studio 2010,但没有.pdb,所以什么都没有。 不幸的是,我不知道这个“通讯服务器”是用什么语言编写的,所以这真的是一个很大的问题。 (我不知道这样做是否会给我一个方法来find论据,但我认为这是值得一试。)

谢谢,戴夫

PS对不起,select不好的标签。 这是一个艰难的分类…

Process Explorer显示它们。 右键单击列表中的进程,然后选择Properties... – > Image – > Command line

它不是100%可靠的,因为这个过程可以覆盖包含命令行的缓冲区,但通常是可行的。

进程资源管理器将允许您查看给定运行进程的命令行参数:)

你不需要应用程序本身的PDB。 Windows DLL有PDB的; 在CreateProcessShellExecute / CreateProcessAsUser等变体上放置一个断点。