Debugging WINDBG在源代码中做了奇怪的跳跃

Debugging WINDBG在源代码中做了奇怪的跳跃,debugging,vb6,windbg,Debugging,Vb6,Windbg,我有一个用VB6编写的windows服务,我想在WINDBG中附加和调试它 该服务在编译时未进行优化(也未选中“高级优化”中的所有框),并选中“创建符号调试信息”。我有一个类的源文件,我想在其中设置断点。我可以在某些行上设置断点,但不能在所有行上设置断点。。。即使我不能在其中设置断点的行没有任何外来的、简单的变量赋值之类的 不管怎样,当我使用g命令运行服务时,我可以设置的断点会被命中,但当我开始“跳过”(F10)时,代码会出现一些奇怪的跳跃,并且不会(或者至少看起来不会)计算所有行 在我看来,源

我有一个用VB6编写的windows服务,我想在WINDBG中附加和调试它

该服务在编译时未进行优化(也未选中“高级优化”中的所有框),并选中“创建符号调试信息”。我有一个类的源文件,我想在其中设置断点。我可以在某些行上设置断点,但不能在所有行上设置断点。。。即使我不能在其中设置断点的行没有任何外来的、简单的变量赋值之类的

不管怎样,当我使用
g
命令运行服务时,我可以设置的断点会被命中,但当我开始“跳过”(F10)时,代码会出现一些奇怪的跳跃,并且不会(或者至少看起来不会)计算所有行


在我看来,源文件和符号文件是不同步的,但我只是编译了项目并将文件移到了我要调试的计算机上。。。是什么导致项目的源文件和pdb/dll文件不同步?

Hmm,VB6似乎又流行起来了。。。VB6的符号不是很好。你把PDB和DLL复制到目标PC上了?你试过了吗!WinDbg中的sym噪音,
symchk
(WinDbg附带的单独工具)或?另外,在WinDbg中检查
lmf
,查看DLL从何处加载。可能有一个从您不知道的地方使用的DLL副本。此环境变量
link=/pdb:none
将符号存储在DLL中,而不是单独的文件。始终使用正确的符号。CoClassSyms()还可以从类型库中生成符号。我做的是:@Lakes建议似乎更一般,所以我先用它。我设置env并编译。将明显较重的DLL移动到目标计算机。当我连接到进程时,DLL的符号是自动加载的,这在当时我认为是绝对性感的。检查加载的模块;代码视图在“符号”中表示。试图设置断点,哦不。。。“未找到代码,未设置断点”。重新编译时未使用
/pdb:none
,使用chkmatch执行检查。。。匹配。重新连接。设置断点。作品什么/