标签: dumpbin

在没有标题的情况下调用c ++ dll中的函数

我想从一个DLL调用一个方法,但我没有源文件头文件.我试图使用dumpbin/exports来查看方法的名称,但我可以找到方法签名?

有没有办法调用这种方法?

谢谢,

c++ dll signature method-signature dumpbin

14
推荐指数
4
解决办法
2万
查看次数

Dumpbin.exe for Linux查看导入

我不确定我的问题是否有道理.我正在搜索与Visual Studio工具包中的dumpbin.exe类似的东西.

基本上我有一个包含一堆库和一个可执行文件的现有项目.我想弄清楚哪些库真正需要以及每个库中的哪个函数.

我只使用共享对象,因为该项目以ARM设备为目标.

linux import shared-libraries dumpbin

11
推荐指数
1
解决办法
7050
查看次数

哪个本机函数在JNI代码中导致EXCEPTION_ACCESS_VIOLATION?

我正在尝试使用由libgdx Android Java开发框架(gdx-bullet)包装的子弹物理库,并在一段短暂的随机工作时间之后使JVM崩溃或"纯虚拟方法称为"崩溃.

其中一些生成hs_err_pidXXXX.log文件,通常包含:

#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0aa0c217, pid=7956, tid=7440
#
# JRE version: 7.0_05-b05
# Java VM: Java HotSpot(TM) Client VM (23.1-b03 mixed mode, sharing windows-x86 )
# Problematic frame:
# C  [gdx-bullet.dll+0x1c217]

Current thread (0x04af2800):  JavaThread "LWJGL Application" [_thread_in_native, id=7440, stack(0x04d70000,0x04dc0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x6572fc0f

Registers:
EAX=0x0073f370, EBX=0x0073f480, ECX=0x0073f484, EDX=0x6572fc07
ESP=0x04dbf3c0, EBP=0x04dbf400, ESI=0x0073f120, EDI=0x04dbf3f0
EIP=0x0aa0c217, EFLAGS=0x00010206

Instructions: (pc=0x0aa0c217)
0x0aa0c217:   ff 52 08 f3 0f 10 05 0c f0 ba 0a f3 0f 10 4c …
Run Code Online (Sandbox Code Playgroud)

java-native-interface windbg bullet dumpbin libgdx

10
推荐指数
1
解决办法
1209
查看次数

检查运行时静态库或dll使用的是什么

Windows SDK中是否有一个工具可以阻止库使用什么CRT?例如,我有一个*.lib文件,如何检查是否使用/ MDd标志或/ MT进行编译?还有如何检查dll或exe相同?这可以用dumpbin完成吗?

windows winapi crt msvcrt dumpbin

9
推荐指数
1
解决办法
6740
查看次数

查找与C++ dll中的方法一起使用的参数

好的,所以我可以使用dumpbin.exe/exports library.dll来查找dll中的所有方法.

...但是我如何找出传递给他们的参数?当然没有头文件.

c++ dll signature name-mangling dumpbin

7
推荐指数
1
解决办法
6007
查看次数

分析.exe/.dll(Windows PE)文件以获取代码膨胀

假设我有一个包含十几个不同模块的项目,它们生成一个结果DLL,我该如何分析它以便我可以识别每个模块/函数所贡献的实际文件大小?我知道在Release版本中可能无法删除大量信息,但是如果我拥有完整的源代码并且可以执行Debug构建怎么样?

另外,如果在某处定义了大的静态变量,有没有办法可以轻松找到它们?

奖金问题:Linux ELF文件怎么样?

windows performance diagnostics low-level dumpbin

7
推荐指数
1
解决办法
1604
查看次数

用于分析库文件中的符号的实用程序

我在使用大型静态库(.lib)文件时遇到了一些问题,并且怀疑代码是不加思索地使用模板类的.我想分析库中的符号,以确认哪些符号构成了文件大小的大部分.

当我将可执行文件链接到这个库时,结果输出更加合理,大小(大约20Mb),因此链接器显然剥离了大量冗余符号.我想知道它取消了什么..

我知道我可以使用dumpbin来生成符号和标题,但是,由于所讨论的库非常大(900Mb),如果没有用于解析和报告的实用程序,此转储几乎无法使用.

显然我可以自己写这个,但是想知道是否有人可以推荐任何已经可用的免费软件?

c++ symbols visual-c++ dumpbin

5
推荐指数
1
解决办法
2019
查看次数

重定位如何在COFF对象(非图像)文件中工作

在创建最终图像之前,链接器在解析目标文件中的重定位时会采取哪些步骤?更具体地说,链接器如何处理已经存储在重定位站点的值?它总是将它添加到最终的VA/RVA中,还是有时会被忽略(例如某些重定位类型)?

我在MS PE/COFF Specfication中找不到清晰的解释,经过谷歌搜索和实验一段时间后,我所能发现的是:

  1. 在MS COFF规范的第5.6.2节"基本重定位类型"中,据说"基址重定位将所有32位差异应用于偏移量的32位字段",我猜这意味着重定位应该采取考虑已经存储在指定偏移处的任何地址.但是,第5.6章(.reloc部分)仅与图像文件有关,而与目标文件无关.
  2. dumpbin实用程序在打印重定位表时添加名为"应用于"的列,该列似乎始终(无论重定位类型)是否包含存储在重定位站点的值.
  3. DJGPP COFF规范中的重定位指令章节明确指出,当前存储在该位置的值应该添加到重定位表条目指向的符号的地址中.

您能否指出我的任何(相关)文档,它解释了链接器如何处理重定位?

coff relocation dumpbin

5
推荐指数
1
解决办法
1256
查看次数

当dumpbin出现在大于文件本身的文件偏移量时,它是如何读取导出表的?

我正在写一个小的PE读取器,所以我在我的测试应用程序旁边运行dumpbin以确认正确读取了值.到目前为止它所做的一切,除了导出表.

我正在测试的文件是一个DLL.我的应用程序以字节数组的形式读取文件,并将其传递给我的PE读取器类.这些值与dumpbin输出的值一致,包括RVA和导出数据目录的大小.

        E000 [     362] RVA [size] of Export Directory
Run Code Online (Sandbox Code Playgroud)

问题是,字节数组的大小只有42,496.你可以想象,当我的PE阅读器尝试在E000(57,344)阅读时,我得到了一个IndexOutOfRangeException.但是,dumpbin没有这样的问题,并且读取导出目录就好了.是的,整个文件确实被读入字节数组.

这怎么可能?

.net c# bytearray pe-exports dumpbin

4
推荐指数
1
解决办法
2047
查看次数

为什么DumpBin告诉我我的二进制文件中没有COMDAT?

这是我得到的输出 dumpbin AchievementsTable.obj /HEADERS

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


Dump of file AchievementsTable.obj

File Type: ANONYMOUS OBJECT

ANON OBJECT HEADER VALUES
               1 version
             14C machine (x86)
        4C51334D time date stamp Thu Jul 29 08:52:45 2010
                 ClassID: {0CB3FE38-D9A5-4DAB-AC9B-D6B6222653C2}
            945F size
               0 flags
Run Code Online (Sandbox Code Playgroud)

我的所有来源都这样做.我正在使用VisualStudio 2005.我知道有很多COMDAT正在导出,因为.exe随后链接并正确执行:是否有编译器开关我应该避免?这是我正在使用的:

/O1
/Ob2
/Oi
/GT
/GL
/I "..\dxsdk\include" <lots of include paths>
/D "WIN32" <lots of #defines>
/GF
/FD
/MT
/GS-
/Gy
/arch:SSE2
/fp:fast
/GR-
/Fo <directory specified>
/Fd <pdb …
Run Code Online (Sandbox Code Playgroud)

visual-studio-2005 dumpbin

4
推荐指数
1
解决办法
2016
查看次数