V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
VOID001
V2EX  ›  Linux

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

  •  
  •   VOID001 ·
    VOID001 · 2016-01-13 10:25:06 +08:00 · 2932 次点击
    这是一个创建于 3239 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    在 Linux 下也可以进行图形调试(如果有对应的工具),并不是难事。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5593 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:35 · PVG 16:35 · LAX 00:35 · JFK 03:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.