dnspy工具: 非常优秀的C#的反编译器
一、调试
1.1 载入模块: 直接将exe或者dll,拖到dnspy中即可。或者 打开exe,运行起来就会,相关的模块会自动加载进来。
1.2 快捷键和VS调试的快捷键相同, 记不住可以手动点;
1.3 附加进程;
1.4 如何跟踪异常? 先看输出中打印是什么异常,然后在异常设置中将异常的类型勾上,再运行一次,我们就在异常的地方断下来,然后,根据调用堆栈立刻就能找到出错的逻辑;
1.5 右键---分析-可以得到变量的使用和赋值的地方;
1.6 双击可以得到定义的地方;
1.7 界面显示的字符串往往 是分析突破口;
二、多进程调试
2.1 当子进程起来后,另外起dnpsy使用附加的方式,可以进入调试。
这样做是可以调试,但是这样看手速... 如果你附加过慢,可能关键函数已经跳过了;
最主要的问题是如果使用dnspy的附加功能,很多函数的局部变量显示不出值,提示:进程不安全,或者被优化;
这时,我们应该选择方式2.2。
2.2 dnspyA启动调试主进程,到起进程ProcessStart处断下来,这时可以见到