现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

Windows开发中一些常用的十大辅助工具

2014-09-11 20:55 工业·编程 ⁄ 共 1172字 ⁄ 字号 暂无评论

经常有人问如何快速的定位和解决问题,很多时候答案就是借助工具, 记录个人Windows开发中个人常用的一些辅助工具。

(1) Spy++

相信windows开发中应该没人不知道这个工具, 我们常用这个工具查看窗口层次,跟踪窗口消息。

(2) WinSpy

一个窗口相关的小工具,非常有用,可以帮我们快速查看和修改窗口属性。(这个工具是开源的, 拿来学习挺不错的)

(3) Process Explorer

非常有用的工具,类似任务管理器,但是比任务管理器强大的多。 可以让我们查看查看每个进程的详细信息以及进程之间的关系,理解了这个工具你也就理解了整个程序进程.

(4) Process Monitor

看名字就知道是用来监视进程活动的,可以监视目标进程的注册表读写,文件读写, 模块加载和进程线程活动情况等,很多时候我们拿它来观察目标进程的活动情况。

(5) VMMap

完整的内存查看工具,可以用它来分析整个程序内存的详细情况(包括某个堆里面的每个分配的内存块),理解了这个工具你也就理解了整个程序内存布局。

(6) API Monitor

这个工具也是我强烈推荐的,可以用它来跟踪目标进程的API调用情况,当你怀疑目标程序的某个Feature调用了某几个API,但又没有证据时,可以通过这个工具来验证。该工具甚至还包含一些简单的调试功能,可以通过设置断点在程序调用API时修改参数和返回值。

(6) WinDbg

不多说了,Windows平台上最强大的调试器,上面很多工具的功能都可以通过它来实现,比如VMMap的功能可以通过WinDbg的!address和!heap命令来实现,比如API Monitor的功能可以通过WinDbg的条件断点来实现。

(7) wireshark

网络开发和理解网络协议的必备工具, 通过这个工具我们可以看到整个网络协议栈在每层上数据包的结构, 很多时候我们拿它来分析目标程序的网络协议和实现方式

(8) httpwatch

集成到浏览器的, http协议的分析利器,  强大的网页数据分析工具, 基本上是Http编程的必备工具。

(9) IDA

反汇编的利器,可以反汇编出函数的流程图以及相互调用关系, 很多时候用它来静态分析程序结构, 然后结合WinDbg进行动态调试。

(10) WindowMonitor

这个程序是个人工作的一个辅助工具,因为现在工作是做远程桌面共享相关,经常要和窗口打交道,通过这个工具可以监视窗口的行为:

比如焦点的改变,窗口的创建和销毁,窗口的显示和隐藏, 以及窗口的枚举等,现在功能还很简单,需要时再扩充,可以到 这下 下载。

最后总结下,工欲善其事,必先利其器,借助工具可以帮我们更好的理解计算机程序。 另外这些工具使用时也不是完全独立的,很多时候是组合使用, 比如我们先通过Spy++查看窗口的消息处理函数地址,然后通过WinDbg的条件断点让程序收到某个消息时进行拦截和调试。

给我留言

留言无头像?