我在DLL设置中了断点,但是运行exe时,跟踪不了,为什么? ( 积分: 100 )

B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
一般的exe里的断点是可以的了,就是在DLL中不行,断点没有用!
 
J

jlyin

Unregistered / Unconfirmed
GUEST, unregistred user!
再试,新建一个DLL,尽量简单;
看能否加断点试;

如果可以了,请比较调试和编译选项
 
G

godelphi2004

Unregistered / Unconfirmed
GUEST, unregistred user!
1、应该在编译Dll时有调试信息就可以调试的,有个例外是如果你的DLL使用的头文件中包含有条件编译是可能有问题;
2、调用CreateRemoteComObject时要求在你的类注册信息的 RemoteServerName 下面有你的服务器信息,如果这个地方指定的是机器名称而不是IP地址,那么使用IP地址当然会找不到了;
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
to jlyin: 你说的我都做过了,没有用啊.
to godelphi2004: 没有条件编译了,“类注册信息”在哪个地方,我不清楚,能否告知呢?
 
H

hzm7512

Unregistered / Unconfirmed
GUEST, unregistred user!
你的dll是对全局的变量起作用的话,如果不是自己的exe触发的动作,dll是调试不到的.
换句话说,比如我的dll是想拦截点击copy文件的动作,如果我是在调用dll的exe里发生了copy文件的动作时(自己编写程序用SHFileOperation这个函数,等同于手动操作),这时是可以调试的,但是如果我是在别的地方手动操作copy文件(也就是咱们平常操作的copy,paste),dll是不可以调试的,系统捕捉不到这个动作.
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
to hzm7512: 老兄啊,我以前也是这样用的嘛,当然说自己的EXE了,我自己写了DLL,然后自己写了EXE来触发DLL,而且都是用DELPHI写的,在DELPHI的“Paramters”设定所写的EXE,就是这样的了,以前都可以的了,不知道为什么现在不行了,你知道我说什么嘛?
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
顶啊!
要是搞定我会立即给分的 了
 
D

dwzys

Unregistered / Unconfirmed
GUEST, unregistred user!
是什么操作系统呢?如果是WINDOWS XP,按快捷键Ctrl+Alt+M,然后把要高度的模块调到内存
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
to dwzys: 能不能把问题看清再说啊
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
顶啊~~~~~~~~~~~~~~~~~~!
 
P

piao40993470

Unregistered / Unconfirmed
GUEST, unregistred user!
有一招在[red]DLL[/red]的工程文件选项中
Project->Options->Linker->EXE and DLL Options
把Include TD32 debug Info和Include remote debug symbols勾上试试。
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
to piao40993470 : 谢谢这位仁兄了!!真的感谢了,我肯定给你高分以表谢意,这第二个问题,是这样的:我的机器通过4口路由器组建的小型局域网内,我自设IP了,但是调用CreateRemoteComObject()函数时,其参数MachineName 指定为自设的IP就是不行,但是指定为机器名称时是可以的。希望能搞定这个问题,谢了! 先
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
to piao40993470: 你还在嘛,搞定2后我就给你分了,谢谢了~~~~~~~~!
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
自己顶啦!
 
G

godelphi2004

Unregistered / Unconfirmed
GUEST, unregistred user!
不是已经告诉你了嘛,CreateRemoteComObject肯定是在调用COM嘛,COM类的注册信息不在注册表中还能在哪里啊?CreateRemoteComObject会调用CoCreateInstanceEx的,你自己查一下CoCreateInstanceEx就知道了:
HKEY_LOCAL_MACHINE/SOFTWARE/Classes/APPID/
{AppID_value}/RemoteServerName = server_name
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
我查过了,没有。能否告诉我怎么注册我的DLL文件呢?
我是直接通过regsvr32.exe注册
 
B

Ben.M

Unregistered / Unconfirmed
GUEST, unregistred user!
实际上我用的是4口路由器,ip都是自己设为192.168.1.×,不知道为什么这个总是不行,用地址就是报“没有注册类别”
 

Similar threads

回复
0
查看
623
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
935
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部