在系统部署运行时我们经常发现某个程序在开发机器中可以运行,但是部署在某台PC上缺不能运行,也存在在某些机器上可运行换一台机器却不能运行。主要表现出两种现象:

        (1)、运行、调试时出现程序启动时报错,提示出现错误无法启动。

       (2)、程序执行数据库查询语句时直接跳过,查询函数调用时断点也无法中断。并且无执行结果。

  其实出现这样的原因最主要是我们部署的程序缺少一些必要的运行库(注意库的版本,同样的库如果版本不一致也可能出现题)。

1.Depends

  Depends用来显示与一个可执行文件(exe或者dll)相关的依赖项(dll),以及该exe或dll引用了这些dll中的哪些接口。同时也可以看到每个被依赖的dll中的所有导出的函数接口。

  该工具得到的是查看程序中隐式连接的Dll库,也就是用LIB关联的Dll模块,无法显示由显示连接的Dll模块,也就是用LoadLibrary函数导入的Dll函数。

2.DUMPBIN

导出函数如下:
 1 // open_www.cpp : 定义控制台应用程序的入口点。
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 extern "C"_declspec (dllexport)int add(int a,int b)
 5 {
 6  return a+b;
 7 }
 8 int main(void)
 9 {
10  int c=0;
11  c=add(1,4);
12  printf("c=%d\n",c);
13  return 0;
14 }

2.1 开启CMD

2.2 移动目录到C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin

(DUMPBIN.EXE所在目录)

2.3 运行命令:VCVARS32.BAT

如果不运行vcvars32.bat会出现以下提示

2.4 下面就可以调用dumpbin.exe命令了

  如果导出函数前不加extern "C"

 /*extern "C"*/_declspec (dllexport)int add(int a,int b)

  则显示结果为:

转载于:https://www.cnblogs.com/blueoverflow/p/4884744.html

DEPENDS工具和DUMPBIN工具使用相关推荐

  1. dumpbin的使用方法_DEPENDS工具和DUMPBIN工具使用

    1. Depends Depends用来显示与一个可执行文件(exe或者dll)相关的依赖项(dll),以及该exe或dll引用了这些dll中的哪些接口. 同时也可以看到每个被依赖的dll中的所有导出 ...

  2. 2001.dumpbin工具使用

    查看dll动态库中,有哪些函数接口,使用vs2015中自带的dumpbin工具,还是很好使的 D\softInsall\Program Files (x86)\Microsoft Visual Stu ...

  3. VS2010中dumpbin工具的使用

    用VS2010生成的.obj文件..lib库..dll库..exe执行文件,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过VS2010自带的dumpbin工具来完成. d ...

  4. 使用dumpbin工具查看动态库中函数列表

    一.Windows环境下如何安装dumpbin工具? Dumpbin是Visual Studio自带的一个命令行工具,用于查看可执行文件.静态库和动态库的导入表.导出表.符号表等信息.在Windows ...

  5. Dumpbin工具参数详解

    Dumpbin工具参数详解 Dumpbin简介 DUMPBIN是在Windows平台下用于显示COFF格式文件信息的一个命令行工具.你可以使用DUMPBIN去显示COFF格式的文件信息,比如像vc编译 ...

  6. VS自带工具:dumpbin的使用

    用VS2010生成的.obj文件..lib库..dll库..exe执行文件,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过VS2010自带的dumpbin工具来完成. 1 ...

  7. dumpbin的使用方法_VS2010中dumpbin工具的使用

    用VS2010生成的.obj文件..lib库..dll库..exe执行文件,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过VS2010自带的dumpbin工具来完成. d ...

  8. VS自带工具:dumpbin的参数详解

    VS自带工具:dumpbin的参数详解 参考链接: 1.微软技术文档 2.微软官方文档描述](https://docs.microsoft.com/zh-cn/cpp/build/reference/ ...

  9. 属性匹配工具_测试工具链——高效构建Mock服务

    现在,WEB系统的开发一般都采用前后端分离的架构,以及部分公司采用"前台-中台-后台"的组织架构,难免会出现开发进度不一致的情况,导致系统联调或测试需要等到所有依赖开发完成后才能够 ...

最新文章

  1. JZOJ 5185. 【NOIP2017提高组模拟6.30】tty's sequence
  2. oracle线程阻塞_Oracle Service Bus –线程阻塞案例研究
  3. 双向链表中插入结点并输出
  4. 前端开发中,如何优化图像?图像格式的区别?
  5. 关于一些桌面、移动应用开发的平台
  6. spreadJs拖放单元格值的解决方法
  7. 《计算机操作系统》| 第一章 操作系统引论 知识梳理
  8. ArduinoUNO实战-第二章-HelloWorld
  9. vue PC项目实现 支付宝支付(跳转至支付界面)
  10. wap 第六章 svg 路径
  11. 虚拟专用网络安全技术
  12. pandas daraframe 写入读取excel文件,并简单计算
  13. Vuex的基本使用及总结(超详细)
  14. 【docker】三、Permission denied与sudo命令
  15. 关于android读取用户号码,手机串号,SIM卡序列号
  16. firewalld防火墙(二)实验案例:ip地址伪装,端口转发
  17. VertiGIS进入下一增长阶段,任命Andy Berry为首席执行官
  18. Linux 启动定时任务配置
  19. 微信,能为企业带来多大的价值?
  20. 乔布斯鲁宾_鲁宾·哈里斯(Ruben Harris)如何利用故事的力量闯入初创企业

热门文章

  1. 经典汉诺塔(Java初学递归篇)
  2. 苹果APPLE最新MI芯片笔记本安装第三方内核扩展
  3. python兼职平台信号处理_如何在Windows机器上处理python中的信号
  4. iconfont图标_除了iconfont,UI设计师还可以使用的免费图标库!
  5. UE4学习-新建C++组件、编码遇到问题
  6. mysql二级封锁协议_MySQL 行锁、两阶段锁协议、死锁以及死锁检测
  7. html禁用自动完成,html – 如何禁用所有主流浏览器的自动完成功能
  8. python画父子关系图_将有父子关系的一维数组转换成树形结构(多维)数据
  9. java序列化_技术干货 | JAVA反序列化漏洞
  10. 数字图像处理—亮度变换与空间滤波—亮度变换函数