使用Windbg知道程序运行时的命令行参数.
来源:互联网 发布:图书在版编目数据 编辑:程序博客网 时间:2024/06/07 20:20
如何才能一个程序运行时的command line arguments是什么?其实这个信息被记录在了进程的process environment block中,我们可以用Windbg很方便的找出这个信息。
比如说,我在cmd上打开一个notepad, 如下
当notepad运行起来以后,使用windbg attach到notepad, 然后使用命令!peb打印出process environment block. 要注意symbol path要正确。
然后就能看到下面这些信息了。
我们能知道CommandLine了,也能知道DllPath和Environment了.
那么有时候这个程序运行的太快了,还来不及attach就跑完了怎么办?
没关系,我们可以设置notepad.exe一运行就被windbg断下来。这要用到windbg下的另外一个非常有用的工具了,gflags.exe. 按如下图设置notepad.exe
其效果是在注册表中添加了下面一些信息:
现在只要notepad以运行,首先就会被windbg断下来了。
总结,其实也不一定使用Windbg,使用VS的debugger也是可以的,原理一样,就不详述了。
另外,使用Process Monitor来得到程序运行参数更方便
最后嘛,惯例是要配图的。不过最近手上没有好图,下次吧。
0 0
- 使用Windbg知道程序运行时的命令行参数.
- window查看运行程序的命令行参数
- window查看运行程序的命令行参数
- window查看运行程序的命令行参数
- window查看运行程序的命令行参数
- 通过命令行指定 Java 程序运行时使用的字符集
- 使用命令行运行程序的方式
- 使用ParamStr获取程序的命令行参数
- 用 VC 获取其它运行中程序的命令行参数
- eclipse中怎样运行带命令行参数的java程序
- WinDbg 如何调试带参数的程序
- javadoc的使用以及打印命令行参数的程序
- C语言获得命令行参数的方法,程序总是可以使用命令行参数吗?
- 使用命令行对java程序的编译运行和打包
- 使用命令行编译运行指定了包的Java程序
- 让用MinGW编译的程序使用Unicode命令行参数
- linux程序的命令行参数
- 命令行参数程序的使用方法
- tarjan + DP_tree <战争游戏>
- WinDBG 用法详解(5)- 建立调试会话 .
- poj3356 AGTC(经典DP最小编辑距离)
- java标识符
- Android的16进制颜色值
- 使用Windbg知道程序运行时的命令行参数.
- strcpy函数的最优实现方法
- LeetCode Remove Duplicates from Sorted List
- 2014-11-8Android学习-------onFinishInflate方法-------动画Animation学习篇
- opencv
- poj 1411 素数筛选
- java接口中的修饰符
- 使用DBMS_JOB来调度作业
- Socket/TCP粘包、多包和少包, 断包