请教vs2013如何正确编译vc6 dll,和在vs2013和vc6下如何调试dll??给分可以最高追加到1000分

dnmartin 2015-02-23 11:37:06
问题基本就是两个帖子,但我看回复没太搞通,最好能加qq指导一下,给分可以最高追加到1000分。

http://bbs.csdn.net/topics/390755457
http://bbs.csdn.net/topics/390753385

谢谢!
...全文
536 点赞 收藏 25
写回复
25 条回复
dnmartin 2015年03月31日
引用 21 楼 u011014707 的回复:
在atach process的时候需要有pdb文件。 http://blog.csdn.net/u011014707/article/details/15498129 这个仅供参考
请问pdb怎么弄呢?我调用dll的程序是股票软件大智慧。。你那个帖子有点专业看不懂。。谢谢!
回复 点赞
dnmartin 2015年03月31日
引用 20 楼 zhao4zhong1 的回复:
也许是多线程,你的断点没下在可执行的代码语句行。
老师,不是多线程的应该。。没那么复杂。。
回复 点赞
dnmartin 2015年03月31日
引用 22 楼 SiGoYi 的回复:
弱弱地问一句!楼主的可执行文不会是metro程序吧?如果是metro,那估计根本就加不了你的dll;如果不是就当我没说过。
是股票软件大智慧程序。。
回复 点赞
SiGoYi 2015年03月31日
弱弱地问一句!楼主的可执行文不会是metro程序吧?如果是metro,那估计根本就加不了你的dll;如果不是就当我没说过。
回复 点赞
12304108 2015年03月31日
在atach process的时候需要有pdb文件。 http://blog.csdn.net/u011014707/article/details/15498129 这个仅供参考
回复 点赞
赵4老师 2015年03月17日
也许是多线程,你的断点没下在可执行的代码语句行。
回复 点赞
dnmartin 2015年03月15日
引用 18 楼 wozhaolala 的回复:
[quote=引用 17 楼 dnmartin 的回复:] [quote=引用 16 楼 beautyangus 的回复:] pdb 只是调试信息,如果 dzh2.exe 是别人开发的 exe,你只能向其开发者索取 pdb 文件,没有的话也无所谓,不影响你自己调试你自己的 dll。
但怎么调试呢?exe自己就退出了。。[/quote]自己做一个exe,或动态链接,或静态链接这个dll,然后调用里面的函数[/quote] 我是要在指定程序里面调用dll啊,不能自己编一个exe啊。。目前的情况是在vc里面可以设置好然后F5,按照调试状态进入dzh2.exe,但exe文件执行后就不再回到调试状态,断点不能停下来。 貌似exe文件一启动的时候就预载它目录下所有dll文件,调用dll的时候只是按照预载的内容调用。
回复 点赞
悟迟 2015年03月09日
引用 17 楼 dnmartin 的回复:
[quote=引用 16 楼 beautyangus 的回复:] pdb 只是调试信息,如果 dzh2.exe 是别人开发的 exe,你只能向其开发者索取 pdb 文件,没有的话也无所谓,不影响你自己调试你自己的 dll。
但怎么调试呢?exe自己就退出了。。[/quote]自己做一个exe,或动态链接,或静态链接这个dll,然后调用里面的函数
回复 点赞
beautyangus 2015年03月05日
pdb 只是调试信息,如果 dzh2.exe 是别人开发的 exe,你只能向其开发者索取 pdb 文件,没有的话也无所谓,不影响你自己调试你自己的 dll。
回复 点赞
dnmartin 2015年03月05日
引用 16 楼 beautyangus 的回复:
pdb 只是调试信息,如果 dzh2.exe 是别人开发的 exe,你只能向其开发者索取 pdb 文件,没有的话也无所谓,不影响你自己调试你自己的 dll。
但怎么调试呢?exe自己就退出了。。
回复 点赞
dnmartin 2015年03月04日
引用 14 楼 wyx100 的回复:
重建工程,导入以前的文件
你好,我试了,没有用,和前面说的一样
回复 点赞
wyx100 2015年03月04日
重建工程,导入以前的文件
回复 点赞
dnmartin 2015年03月04日
引用 11 楼 beautyangus 的回复:
[quote=引用 9 楼 dnmartin 的回复:] [quote=引用 7 楼 beautyangus 的回复:] 1.临时方法 在你的 main 开始处 debugbreak,断点命中后用 vs2013 附加到进程就可以了。 2.永久解决 首先,在 http://daffodil.codeplex.com/releases/view/55712 下载 Daffodil.ENU.msi 并安装。 第二,将项目所有文件导入到 vs2013 工程。 最后,在“项目属性”->“配置属性”->“常规”->“平台工具集“里选择”vc60“,然后编译、调试。
在main 设断点了,但F5后提示无法启动 那个dll。。[/quote] 这个是调试 dll 的问题,有两种常用的方式来调试 dll: 1. 在 dll 的源码里设置好断点,然后附加到进程。 2.更改“调试命令”为 exe 文件。 直接 F5 肯定是不能启动 dll,因为 dll 无法被直接启动,只能被加载,需要通过 方法2。[/quote] 你好,我按方法2了,出现下面输出: 看来已经加载了调用dll的程序dzh2.exe,但它最后提示“无法找到”dzh2.exe“的调试信息,或者调试信息不匹配。无法查找或者打开pdb文件。。这又是咋回事呢?dzh2没pdb吧? “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh2.exe”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ws2_32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.9600.17415_none_dad8722c5bcc2d8f\GdiPlus.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_base.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_core.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_util.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\netapi32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_skin.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_script.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dataproxy.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\winmm.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\version.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\NetUnit.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\DZHWizard.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\CDzhWebBCtrlR.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\Util.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\AppDrv.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\libeay32.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\ssleay32.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\webserverle.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\mfc100.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\msvcr100.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\user32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\gdi32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msimg32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\comdlg32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\advapi32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\shell32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17415_none_a9ed7f470139b3c1\comctl32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\shlwapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ole32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\oleaut32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\msvcp100.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\imm32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\CommonUI.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wininet.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\psapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\IPHLPAPI.DLL”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\setupapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\hid.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wintrust.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\crypt32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\dbghelp.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wsock32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\Wldap32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\nsi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\rpcrt4.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcrt.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\combase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\sqlite3.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\netutils.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\srvcli.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wkscli.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\winmmbase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\liblzma.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\DataProcessing.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\sechost.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msctf.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\iertutil.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\userenv.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\winnsi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\cfgmgr32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msasn1.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\sspicli.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\devobj.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\profapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\cryptbase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\SHCore.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\bcryptprimitives.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\uxtheme.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\dwmapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\mfc100enu.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已卸载“C:\Windows\SysWOW64\dwmapi.dll” 程序“[16396] dzh2.exe”已退出,返回值为 0 (0x0)。
回复 点赞
beautyangus 2015年03月03日
引用 9 楼 dnmartin 的回复:
[quote=引用 7 楼 beautyangus 的回复:] 1.临时方法 在你的 main 开始处 debugbreak,断点命中后用 vs2013 附加到进程就可以了。 2.永久解决 首先,在 http://daffodil.codeplex.com/releases/view/55712 下载 Daffodil.ENU.msi 并安装。 第二,将项目所有文件导入到 vs2013 工程。 最后,在“项目属性”->“配置属性”->“常规”->“平台工具集“里选择”vc60“,然后编译、调试。
在main 设断点了,但F5后提示无法启动 那个dll。。[/quote] 这个是调试 dll 的问题,有两种常用的方式来调试 dll: 1. 在 dll 的源码里设置好断点,然后附加到进程。 2.更改“调试命令”为 exe 文件。 直接 F5 肯定是不能启动 dll,因为 dll 无法被直接启动,只能被加载,需要通过 方法2。
回复 点赞
dnmartin 2015年03月03日
引用 8 楼 sad_4978 的回复:
我想知道为何运行不了。是不能加载DLL,还是其他。如果,不能加载,可以查找一下路径的配置。如果还是不行,可以尝试用LoadLibrary(...) 强制加载。如果还是加载不成功,用GetLastError()看看具体是什么问题。
我也不知道能不能加载啊,我在代码里面设了断点,然后如果按F5的话就提示无法启动 那个dll。。如果此时在“调试”菜单选择“附加到进程”就是出现上面那一堆。。。。。。线程 0x1480 已退出,返回值为 0 (0x0)。 谁能加个qq指导一下吗?多谢!!
回复 点赞
dnmartin 2015年03月03日
引用 7 楼 beautyangus 的回复:
1.临时方法 在你的 main 开始处 debugbreak,断点命中后用 vs2013 附加到进程就可以了。 2.永久解决 首先,在 http://daffodil.codeplex.com/releases/view/55712 下载 Daffodil.ENU.msi 并安装。 第二,将项目所有文件导入到 vs2013 工程。 最后,在“项目属性”->“配置属性”->“常规”->“平台工具集“里选择”vc60“,然后编译、调试。
在main 设断点了,但F5后提示无法启动 那个dll。。
回复 点赞
sad_4978 2015年03月03日
我想知道为何运行不了。是不能加载DLL,还是其他。如果,不能加载,可以查找一下路径的配置。如果还是不行,可以尝试用LoadLibrary(...) 强制加载。如果还是加载不成功,用GetLastError()看看具体是什么问题。
回复 点赞
beautyangus 2015年03月03日
1.临时方法 在你的 main 开始处 debugbreak,断点命中后用 vs2013 附加到进程就可以了。 2.永久解决 首先,在 http://daffodil.codeplex.com/releases/view/55712 下载 Daffodil.ENU.msi 并安装。 第二,将项目所有文件导入到 vs2013 工程。 最后,在“项目属性”->“配置属性”->“常规”->“平台工具集“里选择”vc60“,然后编译、调试。
回复 点赞
dnmartin 2015年03月02日
引用 1 楼 oyljerry 的回复:
把vc6的源码工程用vc2013打开。升级工程。编译。 设置断点。然后就可以单步调试 调试dll要先设定一个调用dll的exe。然后编译器f5运行调试
版主我在“调试”菜单选择“附加到进程”,选择了那个exe文件,然后就出来一堆下面的提示,是不是哪里不对啊? “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh2.exe”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ws2_32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.9600.17415_none_dad8722c5bcc2d8f\GdiPlus.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_base.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_core.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_util.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\netapi32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_skin.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_script.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dataproxy.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\winmm.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\version.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\NetUnit.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\DZHWizard.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\CDzhWebBCtrlR.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\Util.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\AppDrv.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\libeay32.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\ssleay32.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\webserverle.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\dzh2\mfc100.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\msvcr100.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\user32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\gdi32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msimg32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\comdlg32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\advapi32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\shell32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.9600.17415_none_a9ed7f470139b3c1\comctl32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\shlwapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ole32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\oleaut32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\msvcp100.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\imm32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\CommonUI.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wininet.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\psapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\IPHLPAPI.DLL”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\setupapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\hid.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wintrust.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\crypt32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\dbghelp.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wsock32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\Wldap32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\nsi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\rpcrt4.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcrt.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\combase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\sqlite3.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\netutils.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\srvcli.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wkscli.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\winmmbase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\liblzma.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\DataProcessing.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\sechost.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msctf.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\iertutil.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\userenv.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\winnsi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\cfgmgr32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msasn1.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\sspicli.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\devobj.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\profapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\cryptbase.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\SHCore.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\bcryptprimitives.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\uxtheme.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\dwmapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\mfc100enu.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzhdown.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\mfc42.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcp60.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\odbc32.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\dzh2\dzh_main.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel.appcore.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Green_Program\RocketDock\RocketDock.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\riched20.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\usp10.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\msls31.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\cryptsp.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\rsaenh.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\bcrypt.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Program Files\ThinkPad\Bluetooth Software\syswow64\BtMmHook.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\clbcatq.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\SogouTSF.ime”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntmarta.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\SogouPY.ime”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\oleacc.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Program Files (x86)\SogouInput\7.4.0.4382\Resource.dll”。模块已生成,不包含符号。 “dzh2.exe”(Win32): 已加载“C:\Program Files (x86)\SogouInput\Components\SGImeGuard\1.0.0.27\SGImeGuard.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Program Files (x86)\SogouInput\Components\PicFace\1.0.0.1112\PicFace.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Program Files (x86)\SogouInput\Components\SgAppender\1.0.0.207\SgAppender_Dll.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Program Files (x86)\SogouInput\Components\AddressSearch\2.0.1.1379\AddressSearch.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\mswsock.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\NapiNSP.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\pnrpnsp.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\nlaapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\dnsapi.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\winrnr.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\wshbth.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Program Files (x86)\Bonjour\mdnsNSP.dll”。无法查找或打开 PDB 文件。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\FWPUCLNT.DLL”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Windows\SysWOW64\rasadhlp.dll”。已加载符号。 “dzh2.exe”(Win32): 已加载“C:\Users\Martin\AppData\Roaming\TaobaoProtect\TaobaoProtectSE.dll”。模块已生成,不包含符号。 线程 0x1480 已退出,返回值为 0 (0x0)。
回复 点赞
dnmartin 2015年03月02日
引用 4 楼 dnmartin 的回复:
[quote=引用 3 楼 sad_4978 的回复:] 个人觉得不会影响。 如果工程不是很大,完全可以在VS2013上创建一个solution然后导入以前的工程。或者,干脆在VS2013上创建一个空的solution和Project,导入既有的文件。
好吧,这个问题先这么解决吧。但是在vs2013编译的dll运行不了,是字节对齐的问题吗?原来的dll应该是在vc6下编译的。字节对齐怎么设置呢? 假设这个是头文件: #ifndef __FXJFUNC_H_INCLUDE #define __FXJFUNC_H_INCLUDE /* /////////////////////////////////////////////////////////////////////////// 扩展函数用windows 32位动态连接库实现,建议使用Microsoft Visual C++编程. */ #ifdef __cplusplus extern "C" { #endif //__cplusplus /////////////////////////////////////////////////////////////////////////// //分析周期 enum DATA_TYPE { TICK_DATA=2, //分笔成交 MIN1_DATA, //1分钟线 MIN5_DATA, //5分钟线 MIN15_DATA, //15分钟线 MIN30_DATA, //30分钟线 MIN60_DATA, //60分钟线 DAY_DATA, //日线 WEEK_DATA, //周线 MONTH_DATA, //月线 MULTI_DATA //多日线 }; /////////////////////////////////////////////////////////////////////////// //基本数据 typedef struct tagSTKDATA { time_t m_time; //时间,UCT float m_fOpen; //开盘 float m_fHigh; //最高 float m_fLow; //最低 float m_fClose; //收盘 float m_fVolume; //成交量 float m_fAmount; //成交额 WORD m_wAdvance; //上涨家数(仅大盘有效) WORD m_wDecline; //下跌家数(仅大盘有效) } STKDATA; //////////////////////////////////////////////////////////////////////////// //扩展数据,用于描述分笔成交数据的买卖盘 typedef union tagSTKDATAEx { struct { float m_fBuyPrice[3]; //买1--买3价 float m_fBuyVol[3]; //买1--买3量 float m_fSellPrice[3]; //卖1--卖3价 float m_fSellVol[3]; //卖1--卖3量 }; float m_fDataEx[12]; //保留 } STKDATAEx; ///////////////////////////////////////////////////////////////////////////// typedef struct tagCALCINFO { const DWORD m_dwSize; //结构大小 const DWORD m_dwVersion; //调用软件版本(V2.10 : 0x210) const DWORD m_dwSerial; //调用软件序列号 const char* m_strStkLabel; //股票代码 const BOOL m_bIndex; //大盘 const int m_nNumData; //数据数量(pData,pDataEx,pResultBuf数据数量) const STKDATA* m_pData; //常规数据,注意:当m_nNumData==0时可能为 NULL const STKDATAEx* m_pDataEx; //扩展数据,分笔成交买卖盘,注意:可能为 NULL const int m_nParam1Start; //参数1有效位置 const float* m_pfParam1; //调用参数1 const float* m_pfParam2; //调用参数2 const float* m_pfParam3; //调用参数3 const float* m_pfParam4; //调用参数3 float* m_pResultBuf; //结果缓冲区 const DATA_TYPE m_dataType; //数据类型 const float* m_pfFinData; //财务数据 } CALCINFO; /////////////////////////////////////////////////////////////////////////////////// /* 函数输出 __declspec(dllexport) int xxxxxxxx(CALCINFO* pData); ---------- A __declspec(dllexport) int xxxxxxxxVAR(CALCINDO* pData); ---------- B 编译时请请选择1字节对齐 */ //示例函数,使用时用实际名称替换 __declspec(dllexport) int WINAPI MYMACLOSE(CALCINFO* pData); __declspec(dllexport) int WINAPI MYMAVAR(CALCINFO* pData); __declspec(dllexport) int WINAPI MYMACLOSE_CALC_PREV(CALCINFO* pData); __declspec(dllexport) int WINAPI MYMAVAR_CALC_PREV(CALCINFO* pData); #ifdef __cplusplus } #endif //__cplusplus #endif //__FXJFUNC_H_INCLUDE 十分感谢!![/quote] 这个问题解决了,但还没解决调试dll的问题。。
回复 点赞
发动态
发帖子
进程/线程/DLL
创建于2007-09-28

6376

社区成员

4.9w+

社区内容

VC/MFC 进程/线程/DLL
社区公告
暂无公告