今天,整插件框架的时候,调试的时候,整来整去,发现,无法进入插件DLL进行调试,诧异的蛋疼,相同的框架,以前写的代码,调试一切正常,随意怎么调试都可以,今天换一个项目上来,调试居然无法进入到DLL模块中去了。。。。寻找度娘,谷歌一番,多数论调都是神马DLL和exe同一个目录下之类的。甚至还有人说放在不同的目录下之类的。。。。我不知道他们是怎么设置调试成功的,总之,我是怎么整都没成功,最后终于进入到主程序调试加载DLL插件的时候,查看了一下Delphi自身的调试查看的Modules,这个可以在View-->Debug Windows--->Modules下查看。正常情况下,这里显示的界面为:
,可以看到前面有蓝色小原点的是当前正在运行调试中的模块。然后可以看到在后面还跟有一个模块的路径。这个如果是英文名称,那么这个模块路径是正常的,如果是中文名称,那么这个模块路径则是乱码,妹的,问题,才算是找出来了,这个就是因为Delphi的IDE无法识别正确的模块路径,而导致调试的时候无法正常加载模块的调试信息。由此,咱们今后可要注意一下,就是如果使用插件的时候,切忌使用中文名称,否则是无法识别调试路径的咯。下面是使用中文路径的时候,插件模块加载之后的模块视图如下
很显然,只有SeBaidu.exe这个是蓝色点,而俺刚加载的那个插件则显示的是未加载,更奇特的是他后面的路径,看到没,一串乱码。真是蛋疼的Delphi呵。居然宿主的中文路径识别正常,加载的插件中文路径,就识别不正常了!仅以为记,既然IDE有这种BUG,那咱们只有日后绕过了!
本文转自 不得闲 博客园博客,原文链接: http://www.cnblogs.com/DxSoft/archive/2013/04/10/3011533.html ,如需转载请自行联系原作者