@@ -8,14 +8,13 @@ Generate C++ headers from DWARF Debugging Information Format (DWARF).
88
99> \[ !WARNING]
1010> This tool requires binaries that contain ** DWARF debug information** in order to generate headers.
11- > Please make sure that your input binary includes DWARF debug info, which is often not available publicly for proprietary software.
11+ > Make sure your input binary includes DWARF debug info, which is often not publicly available in proprietary software.
1212
1313## Installation
1414
15- ### Build from Sources
15+ ### Build from Source
1616
17- Since dwarf2cpp uses ** pybind11** to use LLVM's DWARF DebugInfo module from Python, you need a working C++ toolchain to
18- build it:
17+ Since dwarf2cpp uses ** pybind11** to access LLVM's DWARF DebugInfo module from Python, you need a working C++ toolchain to build it:
1918
2019* On Windows: ** MSVC (Visual Studio Build Tools)**
2120* On Linux: ** GCC (g++)**
@@ -27,7 +26,11 @@ cd dwarf2cpp
2726pip install .
2827```
2928
30- After installation, the tool can be invoked using ` python -m dwarf2cpp ` .
29+ After installation, run the tool with:
30+
31+ ```
32+ python -m dwarf2cpp
33+ ```
3134
3235### Prebuilt Wheels
3336
@@ -43,26 +46,24 @@ locally.
4346 pip install dwarf2cpp-<version>-<platform>.whl
4447 ```
4548
46- This option is recommended if you simply want to use ` dwarf2cpp ` without dealing with compiler or LLVM setup .
49+ This is the recommended option if you only want to use ` dwarf2cpp ` without setting up a compiler or LLVM.
4750
4851## Usage
4952
5053```
5154Usage: python -m dwarf2cpp [OPTIONS] PATH
5255
5356Options:
54- --base-dir TEXT Base directory for compilation. [required]
57+ --base-dir TEXT Base directory used during compilation. [required]
5558 -o, --output-path PATH Output directory for generated files. Defaults to
5659 'out' inside the input file's directory.
5760 --help Show this message and exit.
5861```
5962
60- The ` PATH ` argument should point to a binary that contains DWARF debug information.
63+ The ` PATH ` argument must point to a binary containing DWARF debug information.
6164
62- * ` --base-dir ` should point to the root directory used during compilation. This helps resolve relative include paths
63- when reconstructing headers.
64- * ` --output-path ` lets you control where generated headers will be stored. If not provided, the tool creates an ` out/ `
65- folder next to the input file.
65+ * ` --base-dir ` should point to the root directory used during compilation. This helps resolve relative include paths when reconstructing headers.
66+ * ` --output-path ` controls where the generated headers are stored. If not specified, the tool creates an ` out/ ` folder next to the input file.
6667
6768## Examples
6869
@@ -88,14 +89,14 @@ Typical use cases include:
8889
8990## Limitations
9091
91- * Generated headers may not always compile out-of-the-box. Manual fixes may be necessary .
92- * Templates, inline functions, and macros cannot always be reconstructed faithfully .
92+ * Generated headers may not compile out-of-the-box. Manual adjustments may be required .
93+ * Templates, inline functions, and macros cannot always be reconstructed accurately .
9394* Only works with binaries compiled with DWARF debug info. Stripped or release binaries will not work.
94- * Only trivially tested. It may not work on any binary with DWARF debug info .
95+ * Only trivially tested. It may fail with certain binaries .
9596
9697## Acknowledgements
9798
98- This project makes use of the following open source technologies:
99+ This project makes use of the following open- source technologies:
99100
100101* [ LLVM Project] ( https://llvm.org/ ) - DWARF DebugInfo parser.
101102* [ pybind11] ( https://pybind11.readthedocs.io/ ) - C++/Python bindings.
@@ -109,7 +110,7 @@ This project makes use of the following open source technologies:
109110
110111> [ !WARNING]
111112> Do not redistribute or publish headers generated from proprietary binaries without proper rights.
112- > Respect the terms of service and licensing agreements for any binaries you analyse.
113+ > Respect the terms of service and licensing agreements of any binaries you analyse.
113114
114115## Contributing
115116
0 commit comments