C++中调试问题??

bingxue8407 2008-04-06 08:38:39
以前自己写过小的C++程序代码,中间设立断点后,运行的时候就会有调试跟踪,但是现在遇到一个稍微大点的程序了,设置了多个断点后,想看一下运行过程,但是运行的时候没有跟踪记录,不进行调试的。这是为什么呢???请告诉我,在一个比较大点的项目中进行C++调试的方法,,,,谢谢。。急!!!!
...全文
112 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingxue8407 2008-04-14
  • 打赏
  • 举报
回复
遇到问题得靠自己慢慢来解决,并不是三言两语就可以参透的。。加油吧。。结啦,,剩下的靠自己吧。。。。
cnzdgs 2008-04-07
  • 打赏
  • 举报
回复
看你这些汇编地址,你是跟踪到系统的DLL里面去了。
注意几个步骤:
1、选择Debug配置
2、在代码中添加断点
3、按F5开始调试
水底石 2008-04-07
  • 打赏
  • 举报
回复
这些提示不影响调试过程
bingxue8407 2008-04-07
  • 打赏
  • 举报
回复
调试的时候为什么总出现这些东西呢:
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\comdlg32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\shlwapi.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\secur32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\comctl32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\shell32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\winspool.drv', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\oledlg.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ole32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\olepro32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\oleaut32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\wsock32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ws2_32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ws2help.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\odbc32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\wininet.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\crypt32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msasn1.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\imm32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\lpk.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\usp10.dll', no matching symbolic information found.
我对应我电脑里看了,这些.DLL都存在的呀。。。不知道为什么??????
bingxue8407 2008-04-07
  • 打赏
  • 举报
回复
无意中改成功了,改成Debug了,但是本来程序没错的。改成Debug后,编译的时候出错。但是生成的时候就又没错了。呵呵。。不过多谢各位的帮忙了,现在好像是可以跟踪调试了。。等我调试好了,一定感谢大家啊。。。
bingxue8407 2008-04-07
  • 打赏
  • 举报
回复
恩。我看了,用的确实是Release状态下,在调试配置那里有个Release还有个Debug,我想改成Debug,可是它默认就是Release,改不了。我用的VC6.0版本。没有Debug目录。有Release呵呵~~~
请继续指点。。。自己好笨哦。呵呵。。那个配置改不了。。。
cnzdgs 2008-04-07
  • 打赏
  • 举报
回复
你用的VC是哪个版本?是否修改过编译或连接的设置?另外看一下Debug目录中是否生成了.pdb文件。
scq2099yt 2008-04-07
  • 打赏
  • 举报
回复
你是在Release状态下调试的吧,改为Debug
bingxue8407 2008-04-07
  • 打赏
  • 举报
回复
TO:cnzdgs

多谢你的指点。但是我的还是不管用啊。。设置断点后,一按F5出现了一个对话框警告:One or more breakpoints cannot be set and have been disabled.Excetion will stop at the beginning of the program.

怎么调试也不行的呢,,出现那个警告后,我一按确定了,它自己就转换到出现以下内容的界面:
0041D9C4 push ebp
0041D9C5 mov ebp,esp
0041D9C7 push 0FFh
0041D9C9 push 460950h
0041D9CE push 424C48h
0041D9D3 mov eax,fs:[00000000]
0041D9D9 push eax
0041D9DA mov dword ptr fs:[0],esp
0041D9E1 sub esp,58h
0041D9E4 push ebx
0041D9E5 push esi
0041D9E6 push edi
0041D9E7 mov dword ptr [ebp-18h],esp
0041D9EA call dword ptr ds:[45927Ch]
0041D9F0 xor edx,edx
0041D9F2 mov dl,ah
0041D9F4 mov dword ptr ds:[474284h],edx
0041D9FA mov ecx,eax
0041D9FC and ecx,0FFh
0041DA02 mov dword ptr ds:[474280h],ecx
0041DA08 shl ecx,8
0041DA0B add ecx,edx
还有好多。。。。请再指点一下吧。。多谢啦。。
bingxue8407 2008-04-07
  • 打赏
  • 举报
回复
哦。。这样啊!!那等我再次调试一下。。很奇怪的事又发生,我又要问。在调试之前程序是对的,在跟踪调试后,再次运行的时候就出现一大片的错误,也不知道受什么邪啦??调试的时候也出问题。老让输入什么源文件之类的东西 。。。。多谢你们啦。。。
cnzdgs 2008-04-07
  • 打赏
  • 举报
回复
调试过程中加载的每个dll,调试器都会自动查找对应的符号文件,以便调试时可以跟踪到dll里面,如果找不到就会显示这样的提示,对于系统中的dll是没有符号文件的(实际上也不需要调试系统的dll,如果需要你可以安装Debug版的操作系统)。
bingxue8407 2008-04-06
  • 打赏
  • 举报
回复
出现这些东西是不是代表可以编译了呢??
7C94552A push 0A4h
7C94552F push 7C945960h
7C945534 call 7C92EDC2
7C945539 xor ebx,ebx
7C94553B mov dword ptr [ebp-1Ch],ebx
7C94553E call 7C93042B
7C945543 mov dword ptr [ebp-68h],eax
7C945546 cmp byte ptr ds:[7C99C318h],bl
7C94554C jne 7C95A84F
7C945552 and byte ptr [ebp+0Bh],0F1h
7C945556 test byte ptr [ebp+0Bh],10h
7C94555A jne 7C945569
7C94555C test dword ptr [ebp+8],0FFF80F00h
7C945563 jne 7C95A88E
7C945569 xor edx,edx
7C94556B push 0Ch
7C94556D pop ecx
7C94556E xor eax,eax
7C945570 lea edi,[ebp-64h]
7C945573 rep stos dword ptr [edi]

这些东西都像些汇编一样,好难理解哦。。。怎么也不出现执行到哪一步了?也不返回到程序窗口的。。。请教。。。。
  • 打赏
  • 举报
回复
有没有用debug编译?
可以用 TRACE 这个宏方便调试
ouyh12345 2008-04-06
  • 打赏
  • 举报
回复
程序有没有生产符号文件?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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