当前位置: 首页 > 知识库问答 >
问题:

macOs Mojave 10.14.2上的gdb

越文康
2023-03-14

>

  • 操作系统版本:macOs Mojave 10.14.2
  • gdb:8.2.1(使用brew安装安装gdb)
  • 我已成功地与

    协同设计--应享权利gdb-entitlement.xml-fs gdb-cert$(which gdb)

    我有这样的简单代码

    int main(int argc,char*argv[]){std::cout<<“hello,world”<

    那么广发挂吧

    zhifandemacbook-pro:cpp-快速启动zhifan$g++-g main.cpp

        zhifandeMacBook-Pro:cpp-quick-start zhifan$ gdb ./a.out
        GNU gdb (GDB) 8.2.1
        Copyright (C) 2018 Free Software Foundation, Inc.
        License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
        This is free software: you are free to change and redistribute it.
        There is NO WARRANTY, to the extent permitted by law.
        Type "show copying" and "show warranty" for details.
        This GDB was configured as "x86_64-apple-darwin18.2.0".
        Type "show configuration" for configuration details.
        For bug reporting instructions, please see:
        <http://www.gnu.org/software/gdb/bugs/>.
        Find the GDB manual and other documentation resources online at:
            <http://www.gnu.org/software/gdb/documentation/>.
    
        For help, type "help".
        Type "apropos word" to search for commands related to "word"...
        Reading symbols from ./a.out...Reading symbols from /Users/zhifan/github/cpp-quick-start/a.out.dSYM/Contents/Resources/DWARF/a.out...done.
        done.
        (gdb) start
        Temporary breakpoint 1 at 0x100000f54: file main.cpp, line 5.
        Starting program: /Users/zhifan/github/cpp-quick-start/a.out
        [New Thread 0x1903 of process 11780]
        [New Thread 0x1a03 of process 11780]
        During startup program terminated with signal ?, Unknown signal.
        (gdb) set startup-with-shell off
        (gdb) start
        Temporary breakpoint 2 at 0x100000f54: file main.cpp, line 5.
        Starting program: /Users/zhifan/github/cpp-quick-start/a.out
        [New Thread 0x2707 of process 11806]
    

    我的gdb一直挂在这里([进程11806的新线程0x2707])。

    我无法使用8.0.1,因为出现未知load命令0x32

    我还能做什么?

  • 共有2个答案

    斜和硕
    2023-03-14

    好吧,从我过去两年的MacBook Pro编程经验来看。我从未成功地使gdb正常工作。macOS使用Xcode开发人员工具进行编译。这些工具包括与gdb非常相似的lldb。

    这里有一个网站,可以帮助一点做到这一点。https://lldb.llvm.org/lldb-gdb.html这是一个直接显示gdb工具和lldb工具的映射。希望这有帮助。

    霍书
    2023-03-14

    我让gdb今天在Mojave上工作:

    a)获得最新的gdb源代码存档(在编写本文时,ftp://sourceware.org/pub/gdb/snapshots/current/gdb-weekly-8.2.50.20190212.tar.xz)--除其他外,它还增加了对MAC上可执行文件的识别处理。

    b)build gdb。我在darwin-nat.c中发现了变量跟踪错误,所以我编辑了文件并重新构建。

    c)按照https://forward-in-code.blogspot.com/2018/11/mojave-vs-gdb.html中的步骤操作

    瞧!

    (来源:广发银行在MAC/Mojave上:启动时程序终止时信号?,未知信号)

     类似资料:
    • 我试图使用macports的GDB(v7.3.1)来调试用g++4.7(也是从macports)编译的可执行文件。但是,我启动调试器,得到以下输出: GNU gdb(gdb)7.3.1版权所有(C)2011 Free Software Foundation,Inc.License GPLv3+:GNU GPL version 3或更高版本http://GNU.org/licenses/GPL.ht

    • Animal.java 我为它创建了以下自定义断言: AnimalAssert.java 编辑:基于第一个答案(cglib需要一个),我用一个no arg构造函数更新了动物类,但是抛出了相同的异常

    • 我的应用程序一直在许多Android平台上报告这个问题(4.1、4.0.4、2.3.6.…)。但我无法在我的手机上复制这个问题。我已经在Google上搜索了这个问题,但堆栈跟踪似乎与我的不一样。

    • 我有一台带有Intel CPU的Windows机器(在引导菜单上启用VMX)。我使用VirtualBox在上面运行Ubuntu Guest。我在上面运行qemu,以运行另一个Guest OS,使用kvm(选项)。 我在尝试插入kvm-intel模块时收到以下错误: 我已经检查了来宾操作系统中的vpx标志,但我也没有看到 有没有办法在来宾Ubuntu操作系统中启用kvm支持,以便我可以在Ubuntu

    • 我试图从java程序中使用Spark SQL,其中pom.xml中的依赖关系指向Spark版本1.6.0。下面是程序 但是,我在线程“main”java.lang.nosuchmethoderror:org.apache.spark.sql.sqlcontext.sql(ljava/lang/string;)lorg/apache/spark/sql/dataframe中出现异常;我正在创建一个平

    • 主机系统为ARCHLinux。我想开发需要运行Windows docker容器的.NET4.6.1应用程序。所以我在VirtualBox下运行Win10。然后我在Win10中安装Docker,以运行Windows Docker容器。Linux->VirtualBox->Win10->Docker->Windows Docker容器->要运行的应用程序。 或者更具体地说,VirtualBox是否支持