ollydbg调试问题

tianruliang 2009-06-08 03:49:11
用ollydbg调试源代码时
ml /c /coff /Cp /Zi hello.asm
link /SUBSYSTEM:WINDOWS /DEBUG /DEBUGTYPE:CV hello.obj
然后用ollydby打开.exe文件,查看----源文件,源文件里为空,什么都没有,请问是我哪里配置有问题?
...全文
206 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
一笑拔剑 2009-06-12
  • 打赏
  • 举报
回复
不过有时候跳转的时候下断点上有点问题
一笑拔剑 2009-06-12
  • 打赏
  • 举报
回复
我用od怎么从来没有出过这样的问题?
gzgzlxg 2009-06-11
  • 打赏
  • 举报
回复
OD 对源码调试的支持不是很好,尤其是那个汉化后的版本(很长时间不玩这个东西了,不知现在有没有新的汉化版),支持更差。另外winDbg和Softice对源码调试的支持非常不错。
bysdy 2009-06-11
  • 打赏
  • 举报
回复
我这样做可以:
把OD加入到右键菜单,然后先编译DEBUG版本,在EXE程序上右键-用OD载入,
然后调试-符号路径选择生成了PDB的那个文件夹,然后在源文件那里就会看到源代码文件了
其实有了强大的符号表已经基本上可以满足很多需求了......
BAYNPU 2009-06-11
  • 打赏
  • 举报
回复
我用的是OD V1.10汉化第二版.
然后用ollydby打开.exe文件的反汇编结果:

00401000 >/$ 6A 00 PUSH 0 ; /Style = MB_OK|MB_APPLMODAL
00401002 |. 68 00404000 PUSH OFFSET a06.szCaption ; |Title = "A MessageBox !"
00401007 |. 68 0F404000 PUSH OFFSET a06.szText ; |Text = "Hello, World !"
0040100C |. 6A 00 PUSH 0 ; |hOwner = NULL
0040100E |. E8 13000000 CALL a06._MessageBoxA@16 ; \MessageBoxA
00401013 |. 6A 00 PUSH 0 ; /ExitCode = 0
00401015 \. E8 12000000 CALL a06._ExitProcess@4 ; \ExitProcess
0040101A CC INT3
0040101B CC INT3
0040101C CC INT3
0040101D CC INT3
0040101E CC INT3
0040101F CC INT3
00401020 > .- FF25 D4504000 JMP DWORD PTR DS:[<&USER32.wsprintfA>] ; USER32.wsprintfA
00401026 > $- FF25 D0504000 JMP DWORD PTR DS:[<&USER32.MessageBoxA>] ; USER32.MessageBoxA
0040102C > .- FF25 A0504000 JMP DWORD PTR DS:[<&KERNEL32.ExitProcess>; kernel32.ExitProcess

tianruliang 2009-06-11
  • 打赏
  • 举报
回复
我用的是OD汉化第三版,看来还是有问题!
tianruliang 2009-06-11
  • 打赏
  • 举报
回复
.386
.model flat,stdcall
option casemap:none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 文件定义
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data

szCaption db 'A MessageBox !',0
szText db 'Hello, World !',0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
start:
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
invoke ExitProcess,NULL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
end start
源码就是老罗的Win32,hello World!
BAYNPU 2009-06-08
  • 打赏
  • 举报
回复
源代码是16位还是32位?
把源代码贴出来看看吧.
killbug2004 2009-06-08
  • 打赏
  • 举报
回复
其实我调试时压根不这样弄,代码哪里没把握就插入int 3,源码和OD中反汇编的代码差不多
tianruliang 2009-06-08
  • 打赏
  • 举报
回复
其实我就是照着那篇文章做的,就是不出源码,郁闷!
killbug2004 2009-06-08
  • 打赏
  • 举报
回复
http://bbs.pediy.com/showthread.php?t=15934

http://bbs.pediy.com//showthread.php?t=8536

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧