VS2010 怎么调试DLL?

gao4417 2011-03-07 04:44:15
内容如题,我下载了一个windows shell namespace extension的例子,也通过编译,就是调试的时候,出现无法打开程序(就是那个DLL),看了不少网页,发现还是不会。希望大虾们来帮帮忙,尽量写详细点儿啊
...全文
1372 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yiyefangzhou24 2011-03-08
  • 打赏
  • 举报
回复
最近我也在弄这个,你去我博客看一看把,有一篇R3下全局钩子HOOK键盘记录的例子,涉及到dll编写自己看一下把
碎碎念 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gao4417 的回复:]
大哥啊,你思路我也知道,问题就是我写不出宿主程序,麻烦给一段,我以前不搞C++,精力突然让我搞一个浏览器扩展编程,我啥都不会啊。麻烦帮帮忙。跪谢

[/Quote]
宿主程序写个简单的吧...比如用mfc建个对话框...
gao4417 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 super_admi 的回复:]
再附加一段代码片段:


C/C++ code

cout << _T("开始加载ExportProject.dll...") << endl;
HINSTANCE hDll = LoadLibrary("ExportProject.dll");
if(NULL == hDll)
{
cout……
[/Quote]
大哥啊,你思路我也知道,问题就是我写不出宿主程序,麻烦给一段,我以前不搞C++,精力突然让我搞一个浏览器扩展编程,我啥都不会啊。麻烦帮帮忙。跪谢
我的小丫丫 2011-03-07
  • 打赏
  • 举报
回复
你讲exe和dll放在一个解决方案里,将exe工程的Property属性里的公共属性里将引用设置为dll就可以exe和dll同时调试了
super_admi 2011-03-07
  • 打赏
  • 举报
回复
再附加一段代码片段


cout << _T("开始加载ExportProject.dll...") << endl;
HINSTANCE hDll = LoadLibrary("ExportProject.dll");
if(NULL == hDll)
{
cout << _T("加载ExportProject.dll失败!") << endl;
return nRetCode;
}
cout << _T("加载ExportProject.dll成功!") <<endl;

cout << _T("开始寻找ExportedProject函数...") << endl;
lpExport lpExportProject = (lpExport) GetProcAddress(hDll, "ExportedProject");
if(NULL == lpExportProject)
{
cout << _T("没有寻找ExportedProject函数!") << endl;
return nRetCode;
}
cout << _T("成功找到ExportedProject函数!") << endl;

cout << _T("开始执行ExportedProject函数...") <<endl;
CString strData;
if(lpExportProject(strData))
cout << _T("函数ExportedProject执行成功!") << endl;
else
cout << _T("函数ExportedProject执行失败!") << endl;

cout << _T("函数反馈信息:") << endl;
if(strData.IsEmpty())
strData = _T("无反馈信息!");
cout << (LPCTSTR)strData <<endl;
cout << _T("正在写入文件:")<<argv[1] << endl;
if(gbWriteFile(strData, argv[1]))
cout << _T("文件写入成功!") << endl;

super_admi 2011-03-07
  • 打赏
  • 举报
回复
按楼上的方法先完成宿主程序,然后在调试DLL的时候,指定宿主程序,或者把DLL添加到宿主进程。
maoxing63570 2011-03-07
  • 打赏
  • 举报
回复
通常是LoadLibrary,GetProcAddress,调用FreeLibrary。出现不能调用,请确定你的路径问题,函数是否导出
zhanshen2891 2011-03-07
  • 打赏
  • 举报
回复
先写一个调用dll的程序,然后调试dll工程,它会让你选择一个exe,你就选择那个。

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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