1、启动
用户可以采用命令行的形式指定可执行文件、也可以从菜单中选择,或直接拖放到ollyice中,或者重新启动上一个被调试程序,或是挂接一个正在运行的程序。ollyice支持即时调试,根本不需要安装,可直接在软盘中运行!
2、线程
ollyice可以调试多线程程序。因此您可以在多个线程之间转换,挂起、恢复、终止线程或是改变线程优先级。并且线程窗口将会显示每个线程的错误(就像调用 GETLASTERROR 返回一样)。
3、调试DLLs
您可以利用ollyice调试标准动态链接库(DLLs)。ollyice会自动运行一个可执行程序。这个程序会加载链接库,并允许您调用链接库的输出函数。
4、源码级调试
ollyice可以识别所有Borland和Microsoft格式的调试信息。这些信息包括源代码、函数名、标签、全局变量、静态变量。有限度的支持动态(栈)变量和结构。
5、代码高亮
ollyice的反汇编器可以高亮不同类型的指令(如:跳转、条件跳转、入栈、出栈、调用、返回、特殊的或是无效的指令)和不同的操作数(常规、FPU/SSE、段/系统寄存器、在栈或内存中的操作数,常量)。您可以定制个性化高亮方案。
6、名称
ollyice可以根据Borland 和Microsoft格式的调试信息,显示输入/输出符号及名称。Object 扫描器可以识别库函数。其中的名称和注释您可任意添加。如果DLL中的某些函数是通过索引号输出的,则您可通过挂接输入库来恢复原来的函数名称。不仅如此,ollyice还能识别大量的常量符号名(如:窗口消息、错误代码、位域[bit fields]…)并能够解码为已知的函数调用。
7、已知函数
ollyice可以识别2300多个C和Windows API 中的常用函数及其使用的参数。您可以添加描述信息、预定义解码。您还可以在已知函数设定Log断点并可以对参数进行记录。
8、函数调用
ollyice可以在没有调试信息或函数过程使用非标准的开始部分和结尾部分的情况下,对递归调用进行回溯。
9、配置
有多达百余个选项用来设置ollyice的外观和运行。
数据格式:ollyice的数据窗口能够显示的所有数据格式:HEX、ASCⅡ、UNICODE、 16/32位有/无符号/HEX整数、32/64/80位浮点数、地址、反汇编(MASM、IDEAL或是HLA)、PE文件头或线程数据块。
10、运行环境
ollyice可以以在任何采用奔腾处理器的Windows 95、98、ME、NT 或是 XP(未经完全测试)操作系统中工作,但我们强烈建议您采用300-MHz以上的奔腾处理器以达到最佳效果。还有,ollyice是极占内存的,因此如果您需要使用诸如追踪调试之类的扩展功能话,建议您最好使用128MB以上的内存。
11、支持的处理器
ollyice支持所有 80x86、奔腾、MMX、3DNOW、Athlon扩展指令集、SSE指令集以及相关的数据格式,但是不支持SSE2指令集。