C/C++ Visual Studio 中 dumpbin 工具使用

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 面向对象

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 设计模式

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ STL

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 技术杂谈


一.dumpbin工具简介

 dumpbin.exe 为 Microsoft  COFF 二进制文件转换器,它显示有关通用对象文件格式 (COFF) 二进制文件的信息,如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过 Visual Studio 自带的dumpbin工具来完成。

那么安装 Visual Studio 之后, dumpbin.exe 在哪里呢?默认在 Visual Studio 安装目录中,或者直接使用 Everything 搜索即可;

C/C++ Visual Studio 中 dumpbin 工具使用

二.dumpbin工具使用

如果想查看其中这些文件或库包含了哪些函数以及相关的信息(符号清单),可以通过 Visual Studio 自带的 dumpbin 工具来完成。

查看a.dll库中包含哪些函数,可以使用:dumpbin /exports a.dll >1.txt 

查看b.exe中加载了哪些动态库,可以使用:dumpbin /imports b.exe >2.txt

查看c.lib中包含哪些函数,可以使用:dumpbin /all /rawdata:none c.lib >3.txt

查看d.obj中包含哪些函数,可以使用:dumpbin /all /rawdata:none d.obj 

例如:使用 查看 dumpbin.exe 查看 D 盘 libEGL.dll 中的函数:

C/C++ Visual Studio 中 dumpbin 工具使用

执行命令后,1.txt 内容如下:

Microsoft (R) COFF/PE Dumper Version 14.29.30137.0
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file d:\\libEGL.dll

File Type: DLL

  Section contains the following exports for libEGL.dll

    00000000 characteristics
    FFFFFFFF time date stamp
        0.00 version
           1 ordinal base
          71 number of functions
          71 number of names

    ordinal hint RVA      name

         14    0 00001000 eglBindAPI
         20    1 00001010 eglBindTexImage
          7    2 00001020 eglChooseConfig
         40    3 00001030 eglClientWaitSync
         33    4 00001040 eglCopyBuffers
         23    5 00001050 eglCreateContext
         53    6 00001060 eglCreateDeviceANGLE
         42    7 00001070 eglCreateImage
         51    8 00001080 eglCreateImageKHR
         18    9 00001090 eglCreatePbufferFromClientBuffer
         10    A 000010A0 eglCreatePbufferSurface
         11    B 000010B0 eglCreatePixmapSurface
         46    C 000010C0 eglCreatePlatformPixmapSurface
         45    D 000010D0 eglCreatePlatformWindowSurface
         55    E 000010E0 eglCreateStreamKHR
         64    F 000010F0 eglCreateStreamProducerD3DTextureNV12ANGLE
         38   10 00001100 eglCreateSync
          9   11 00001110 eglCreateWindowSurface
         24   12 00001120 eglDestroyContext
         43   13 00001130 eglDestroyImage
         52   14 00001140 eglDestroyImageKHR
         56   15 00001150 eglDestroyStreamKHR
         12   16 00001160 eglDestroySurface
         39   17 00001170 eglDestroySync
          8   18 00001180 eglGetConfigAttrib
          6   19 00001190 eglGetConfigs
         26   1A 000011A0 eglGetCurrentContext
         28   1B 000011B0 eglGetCurrentDisplay
         27   1C 000011C0 eglGetCurrentSurface
          2   1D 000011D0 eglGetDisplay
          1   1E 000011E0 eglGetError
         44   1F 000011F0 eglGetPlatformDisplay
         35   20 00001200 eglGetPlatformDisplayEXT
         34   21 00001210 eglGetProcAddress
         41   22 00001220 eglGetSyncAttrib
         66   23 00001230 eglGetSyncValuesCHROMIUM
          3   24 00001240 eglInitialize
         25   25 00001250 eglMakeCurrent
         37   26 00001260 eglPostSubBufferNV
         68   27 00001270 eglProgramCacheGetAttribANGLE
         69   28 00001280 eglProgramCachePopulateANGLE
         70   29 00001290 eglProgramCacheQueryANGLE
         71   2A 000012A0 eglProgramCacheResizeANGLE
         15   2B 000012B0 eglQueryAPI
         29   2C 000012C0 eglQueryContext
         49   2D 000012D0 eglQueryDeviceAttribEXT
         50   2E 000012E0 eglQueryDeviceStringEXT
         48   2F 000012F0 eglQueryDisplayAttribEXT
         58   30 00001300 eglQueryStreamKHR
         59   31 00001310 eglQueryStreamu64KHR
          5   32 00001320 eglQueryString
         13   33 00001330 eglQuerySurface
         36   34 00001340 eglQuerySurfacePointerANGLE
         54   35 00001350 eglReleaseDeviceANGLE
         21   36 00001360 eglReleaseTexImage
         17   37 00001370 eglReleaseThread
         57   38 00001380 eglStreamAttribKHR
         61   39 00001390 eglStreamConsumerAcquireKHR
         63   3A 000013A0 eglStreamConsumerGLTextureExternalAttribsNV
         60   3B 000013B0 eglStreamConsumerGLTextureExternalKHR
         62   3C 000013C0 eglStreamConsumerReleaseKHR
         65   3D 000013D0 eglStreamPostD3DTextureNV12ANGLE
         19   3E 000013E0 eglSurfaceAttrib
         32   3F 000013F0 eglSwapBuffers
         67   40 00001400 eglSwapBuffersWithDamageEXT
         22   41 00001410 eglSwapInterval
          4   42 00001420 eglTerminate
         16   43 00001430 eglWaitClient
         30   44 00001440 eglWaitGL
         31   45 00001450 eglWaitNative
         47   46 00001460 eglWaitSync

  Summary

        3000 .data
        5000 .pdata
       13000 .rdata
        1000 .reloc
        1000 .rsrc
       4E000 .text
        1000 _RDATA

三.猜你喜欢

  1. C语言 数组下标越界和内存溢出区别
  2. C语言 使用指针遍历数组
  3. C语言 指针和数组区别
  4. C语言 指针数组和数组指针区别
  5. C语言 野指针
  6. C语言 函数值传递和址传递
  7. 函数不定长参数
  8. C语言 函数指针
  9. C语言 指针函数
  10. C语言 回调函数 callback
  11. C语言 #pragma once
  12. C语言 #include <> 与 #include “” 区别
  13. C语言 const 修饰函数参数
  14. C语言 const 和 define 区别
  15. C语言 va_start / va_end / va_arg 自定义 printf 函数
  16. C语言 main 函数参数 main(int argc, char *argv[])
  17. C语言 结构体struct简介(一)
  18. C语言 结构体struct定义和使用(二)
  19. C语言 结构体struct数组(三)
  20. C语言 结构体struct指针(四)
  21. C语言 结构体struct成员函数(五)
  22. C语言 结构体struct嵌套(六)
  23. C语言 结构体struct值传递和址传递(七)
  24. C/C++ error: cannot assign to non-static data member within const member function ‘xxxx’
  25. C++ 关于类中 const 的使用
  26. C/C++ =delete
  27. C/C++ 条件编译 #ifdef
  28. C/C++ error C2065: “M_PI”: 未声明的标识符
  29. C/C++ error C2027: 使用了未定义类型“std::tuple”
  30. C/C++ vs 没有匹配 if 的非法 else 问题解决办法
  31. C/C++ Visual studio 中文注释导致编译不能通过
  32. C/C++ error C2589: “(”: “::”右边的非法标记
  33. C/C++ error:表达式是必须修改的左值
  34. C/C++ error C4996: ‘getch’: The POSIX name for this item is deprecated. Instead, use the ISO C++ conf
  35. C/C++ error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
  36. C/C++ std::string 字符串分割
  37. C/C++ std::string 使用介绍
  38. Visual Studio 中 dumpbin 工具使用

未经允许不得转载:猿说编程 » C/C++ Visual Studio 中 dumpbin 工具使用
喜欢(1) 打赏

评论抢沙发

评论前必须登录!

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!!

开始学习

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏