可能重复:
Windows Program: How to snoop on command line arguments?
我在Windows XP下工作。
我获得了一些第三方软件,它们在推出时会产生多个进程。我的任务是编写这个软件的替代品,但我需要保留其中一个程序(一个“通信服务器”,它在其他联网机器上向/从相同的“通信服务器”传递/接收消息)。这个过程的一小部分是学习直接启动“通信服务器”。如果我只是从命令行中没有参数启动它,它会立即死掉。我认为它需要一些论点。所以,我的所有问题归结为......
对于任何任意进程,是否有可能看到它的起始参数是什么?如果是这样,我该怎么办呢?
我尝试附加Visual Studio 2010,但是没有.pdb,所以我什么也没得到。不幸的是,我不知道这个“通信服务器”是用什么语言编写的。所以,这真的是一个很长的问题。 (我不确定这样做是否会让我找到争论的方法,但我认为值得一试。)
谢谢, 戴夫
P.S。很抱歉标签选择不当。这是一个很难分类......
答案 0 :(得分:3)
Process Explorer显示它们。右键单击列表中的流程,然后Properties...
- > Image
- > Command line
它不是100%可靠,因为该进程可以覆盖包含命令行的缓冲区,但通常可以正常工作。
答案 1 :(得分:2)
Process explorer将允许您查看给定运行进程的命令行参数:)
答案 2 :(得分:0)
您不需要应用程序本身的PDB。 Windows DLL有PDB;在CreateProcess
和ShellExecute
/ CreateProcessAsUser
等变体上添加断点。