如何编译出带有 DWARF2 调试信息的 nmap.exe QWQ

2016-01-13 10:25:06 +08:00
 VOID001

因为开发需要, 我需要一个带有 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

2816 次点击
所在节点    Linux
6 条回复
VOID001
2016-01-13 10:41:18 +08:00
不要沉啊 QWQ, 如果我的描述不是很清楚麻烦说出来我会尽量描述的更清楚的 0.0
clijiac
2016-01-13 11:22:17 +08:00
不懂. 不过可以用 mingw 编译吧 .
http://tdm-gcc.tdragon.net/download
VOID001
2016-01-13 11:47:38 +08:00
@clijiac 问题是他是一个工程,依赖很复杂, 还需要 wpcap.dll , 单独交叉编译一个文件倒是可以在 Linux 下用 mingw gcc 或者在 Windows 下用 mingw gcc , 可是这是个工程= = 如果有什么办法把这个工程转成 CB 能识别的工程格式问题就容易多了 QWQ
clijiac
2016-01-13 12:06:04 +08:00
并不懂 c++ 不能用 vs 直接调试么. vs 的调试信息能不能转换什么的~
lovewilliam
2016-01-13 12:10:44 +08:00
得看你是要动态链接,还是静态链接。

如果是静态链接,而且``依赖很复杂'',意味着你要重新编译所有的依赖以包含所有的 DWARF2 消息。

说白了就是你只关心 nmap 自己的 debug 消息,还是所有的依赖你也关心。
jackal
2016-01-14 14:59:41 +08:00
建议你直接在 Linux 平台上运行编译好的(带 DWARF2 的调试信息)的 Linux 可执行程序 nmap , 而不是 nmap.exe 。

多少这也能算是备选方案。

在 Linux 下也可以进行图形调试(如果有对应的工具),并不是难事。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/250353

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX