Comments (5)
Sounds like a worthwhile extension. Do you have an example pair of exe/dbg files so I can have a look how well this might be suited, especially considering the format of the DBG file and the contained CodeView entries?
from cv2pdb.
Here's an archive with a small sample: https://yadi.sk/d/B9sY97BJ3TsVcV
test.exe is just a simple program with recursion (to check if WinDBG can correctly unwind the stack using the resulting PDB), and test.dbg is a corresponding DBG made with map2dbd utility.
I've also added test_with_embedded_DBG.exe file which is test.exe with manually added CV data. cv2pdb can correctly process this file.
I couldn't find any documentation on the DBG file structure, but the headers are documented and declared in WinNT.h, look for IMAGE_SEPARATE_DEBUG_HEADER.
The file layout seems to be as follows:
- IMAGE_SEPARATE_DEBUG_HEADER
- Several IMAGE_SECTION_HEADERs (count = Header.NumberOfSections)
- Optional ExportSymbols (size = Header.ExportedNamesSize, usually zero)
- One or more IMAGE_DEBUG_DIRECTORY (size = Header.DebugDirectorySize)
- The data blocks described by the IMAGE_DEBUG_DIRECTORY entries.
from cv2pdb.
The data looks pretty simple to process. I've added conversion of DBG to PDB (see d67da0e), but this still misses embedding the RSDS debug-link into the executable.
If you want to implement it I'll be happy to review and merge.
from cv2pdb.
Great!
I'll try to implement this.
from cv2pdb.
Seems to be working. Thanks! :)
from cv2pdb.
Related Issues (20)
- Lack of debug symbols in binary built with optimizations enabled HOT 2
- Appveyor cv2pdb.exe artifact deleted HOT 4
- Hang when vswhere produces no output HOT 1
- Any plans for new release? HOT 1
- What files from VisualStudio are strictly required for cv2pdb to run? HOT 2
- produces empty pdb for wined3d HOT 4
- Invalid form=11 for directory index lineHdrOffs=7ded41 HOT 4
- Lack of structures and classes forward declarations HOT 1
- Аnonymous unions and typedefs has the same UDT name "__noname"
- Unicode WCHAR strings in builds without native wchar_t not showing as strings in debugger
- cannot load PDB helper DLL HOT 2
- add continuation record(addDWARFFields)
- Cannot get class info after convert
- cv2pdb converted a PDB that neither IDA nor WinDbg recognize HOT 5
- missing symbols from generated pdb on windows 11 for FFmpeg shared libraries HOT 3
- How do i use this on executable built using by mingw64-qmake? HOT 4
- Cannot load PDB helper DLL HOT 1
- Ghidra support
- NASM bug HOT 1
- Missing symbols HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cv2pdb.