技术解析

如何编译出带有 DWARF2 调试信息的 nmap.exe QWQ
0
2021-07-05 00:40:44
idczone

因为开发需要, 我需要一个带有 DWARF2 调试信息的 nmap PE32 executable QWQ, 可是我平时的工作环境都是 Linux, 很少在 Windows 下编译程序, 看了 nmap 的 Document , 发现我虚拟机里的 XP 用的 VS2010 不能够编译这个项目= = (打不开 sln 文件, 早就已经弃了 Windows 的我 QWQ) , 于是换用 VS2013 编译, 这次倒是可以编译了, 不过我在工程设置里找了好久也不知道如何给编译出来的程序加上 DWARF2 调试信息, 我需要在 Linux 下用这个调试信息进行调试 QWQ

有没有什么好的方法 or 提示 ,能够在 Windows 下用 CB 或者在 Linux 下用交叉编译的方法编译好 nmap, 我觉得如果可以抛弃 msvc++编译器用 gnu 的编译器这个问题解决起来就方便了 QWQ

附上 nmap 的源码链接一枚 https://github.com/nmap/nmap

先谢谢各位了 QAQ


不要沉啊 QWQ, 如果我的描述不是很清楚麻烦说出来我会尽量描述的更清楚的 0.0

不懂. 不过可以用 mingw 编译吧 .
http://tdm-gcc.tdragon.net/download

问题是他是一个工程,依赖很复杂, 还需要 wpcap.dll , 单独交叉编译一个文件倒是可以在 Linux 下用 mingw gcc 或者在 Windows 下用 mingw gcc , 可是这是个工程= = 如果有什么办法把这个工程转成 CB 能识别的工程格式问题就容易多了 QWQ

并不懂 c++ 不能用 vs 直接调试么. vs 的调试信息能不能转换什么的~

得看你是要动态链接,还是静态链接。
如果是静态链接,而且``依赖很复杂'',意味着你要重新编译所有的依赖以包含所有的 DWARF2 消息。
说白了就是你只关心 nmap 自己的 debug 消息,还是所有的依赖你也关心。

建议你直接在 Linux 平台上运行编译好的(带 DWARF2 的调试信息)的 Linux 可执行程序 nmap , 而不是 nmap.exe 。
多少这也能算是备选方案。
在 Linux 下也可以进行图形调试(如果有对应的工具),并不是难事。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服