Articles of dbghelp

列出DLL的导出函数

我正在寻找一种方法(在C ++ / Windows中)使用dbgHelp列出DLL中的导出函数(甚至可能是未导出的方法)。 有谁知道哪种方法可以做到这一点? 谢谢 :)

捕获R6025纯虚拟通话

我目前使用SetUnhandledExceptionFilter捕获未处理exception的MiniDump,但有时我得到“R6025:纯虚函数”。 我明白如何纯虚函数调用发生我只是想知道是否有可能捕获它们,所以我可以在那一刻创build一个MiniDump。

在C#中查看非托pipedll上的导出表

我目前正在尝试创build一个C#应用程序,这将允许我从非托pipeDLL查看导出表。 我的问题是,一旦我有了所需的指针,我就不知道如何循环API提供给我的信息。 这是我现在所拥有的: using System; using System.ComponentModel; using System.Runtime.InteropServices; namespace DLLMapper { class DLLExportViewer { #region APIs [DllImport("imagehlp.dll")] public static extern Boolean MapAndLoad(String ImageName, String DllPath, ref LOADED_IMAGE LoadedImage, Boolean DotDll, Boolean ReadOnly); [DllImport("imagehlp.dll")] public static extern Boolean UnMapAndLoad(ref LOADED_IMAGE LoadedImage); [DllImport("dbghelp.dll")] public static extern IntPtr ImageDirectoryEntryToData(IntPtr Base, Boolean MappedAsImage, UInt16 DirectoryEntry, ref Int32 Size); […]

DLL中未解决的符号错误

对于后台,我已经遇到了一个中型的linux代码库(编译成一个巨大的.so)到x64的窗口(编译成.dll)。 我有链接器的麻烦。 作为最小的testing用例,如果我从以下文件创build一个Visual Studio项目: #include <Windows.h> #include <Dbghelp.h> void do_stuff(char const * s) { char buffer[4096]; long int len = UnDecorateSymbolName( s, buffer, sizeof(buffer), UNDNAME_COMPLETE); } 我将项目types设置为DLL并构build它,我得到一个错误“LNK2001:无法parsing的外部符号__imp_UnDecorateSymbolName”。 也就是说,该文件编译正确,但无法链接到一个DLL。 我认为目标是我的dll链接到dbghelp.dll,特别是因为(至less在我的系统上)没有像dbghelp.lib这样的文件。 那么为什么现在试图解决这个符号,而不是当我的DLL被加载到应用程序? 为什么不能看到这个function呢? 要清楚,我已经确认我正在构buildx64 DLL,并且C:\ Windows \ System32中的dbghelp.dll是x64。

如何使用dbghlp和pdb获取结构体的字段名称和偏移量

我想用与windbg的dt命令相同的方式来转储结构的字段和偏移量。 比方说,我想转储微软公共符号中的_PEB结构(因为windbg的DT命令起作用)。 从MSDN文档中,我了解到,SymFromName函数应该能够做到这一点,下面是我已经尝试失败SymFromName与LastError 126(无法find指定的模块)的代码。 从注册的callback我得到以下输出: CBA_SET_OPTIONS CBA_SET_OPTIONS CBA_SET_OPTIONS CBA_EVENT: code 0 desc DBGHELP: Symbol Search Path: symsrv*symsrv.dll*C:\Symbols*http://msdl.microsoft.com/download/symbols DBGHELP: Symbol Search Path: symsrv*symsrv.dll*C:\Symbols*http://msdl.microsoft.com/download/symbols CBA_DEFERRED_SYMBOL_LOAD_START: C:\Windows\Sysnative\ntdll.dll CBA_DEFERRED_SYMBOL_LOAD_PARTIAL: C:\Windows\Sysnative\ntdll.dll CBA_EVENT: code 0 desc DBGHELP: No header for C:\Windows\Sysnative\ntdll.dll. Searching for image on disk DBGHELP: No header for C:\Windows\Sysnative\ntdll.dll. Searching for image on disk CBA_EVENT: code 0 desc DBGHELP: […]