V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
VOID001
V2EX  ›  Linux

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

  •  
  •   VOID001 ·
    VOID001 · Jan 13, 2016 · 3509 views
    This topic created in 3757 days ago, the information mentioned may be changed or developed.

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

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

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

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

    在 Linux 下也可以进行图形调试(如果有对应的工具),并不是难事。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5580 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 01:27 · PVG 09:27 · LAX 18:27 · JFK 21:27
    ♥ Do have faith in what you're doing.