添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首页
学习
活动
专区
工具
TVP
最新优惠活动
发布
精选内容/技术社群/优惠产品, 尽在小程序
立即前往

OSX Catalina上的gdb 8.3.1 "not in executable format: file format not recognized“

OSX Catalina上的gdb 8.3.1 "not in executable format: file format not recognized"是由于gdb版本不兼容导致的错误。在OSX Catalina中,由于系统安全性的提升,Apple引入了新的系统保护机制,导致gdb无法正常运行。

解决这个问题的方法是使用LLDB调试器代替gdb。LLDB是苹果官方推荐的调试器,与OSX Catalina兼容,并且提供了类似于gdb的功能。

LLDB可以通过命令行或者Xcode集成开发环境进行使用。以下是使用LLDB调试器的一些常用命令:

  1. lldb <可执行文件> :启动LLDB调试器并加载可执行文件。
  2. run :运行程序。
  3. breakpoint set --name <函数名> :设置断点。
  4. continue :继续执行程序。
  5. next :执行下一行代码。
  6. print <变量名> :打印变量的值。
  7. step :进入函数调用。
  8. finish :跳出当前函数。
  9. quit :退出LLDB调试器。

LLDB是一个功能强大的调试器,可以满足大部分调试需求。如果需要更详细的LLDB命令和用法,请参考苹果官方文档: LLDB官方文档

请注意,以上解决方案仅适用于OSX Catalina及更高版本。如果您使用的是其他操作系统或旧版本的OSX,可能需要采取其他方法来解决该问题。

相关· 内容

Swift进阶-LLDB调试

file -- Create a target using the argument as the main executable ....显示任何返回值与LLDB 默认格式 parray 评估当前线程 表达式。显示任何返回值与LLDB 默认格式 po 评估当前线程 表达式。...显示任何由类型作者控制 格式返回值 poarray 评估当前线程 表达式。显示任何返回值与LLDB 默认格式 print 评估当前线程 表达式。...-G ( -- gdb - format ) Specify a format using a GDB format specifier... file > frame language 单步调试,修改指针变量 值,观测程序不同变化 Xcode调试面板 实际已经有了按钮去实现,再这里简单介绍下: n 命令,代表 Step Over

859 3 0
  • 如何优雅 调试段错误

    int vfprintf( FILE *stream, const char * format , va_list arg) 这样,如果我们 grep 源码如果寻找到大量 fprintf,vfprintf 调用的话...$ gdb -batch -ex 'show debug- file -directory' The directory where separate debug symbols are searched...= -1) return -1 看函数名感觉是判断当前 FILE 是否是宽字节流,推测是从 FILE 结构里取信息,结果 FILE 结构地址非法,所以内存读取错误,直接就段错误了。...than executable . 1283 ORIENT; 可以看到刚进入 gdb 就能看到一些有用 信息,因为我们前面下载了源码文件,所以出错 文件,行号,代码等都显示了出来,另外一个有用 信息是...如果编译 a.out 时加了 -g 参数的话,具体 行号和代码也会显示出来,如下: ( gdb ) bt #0 _IO_vfprintf_internal (s=0x0, format =0x560a28c3476a

    4.6K 5 2

    code blocks使用方法总结「建议收藏」

    可进行如下设置:点击菜单栏 debug->Active debuggers-> GDB /GCB 注3:启动调试时提示“要设置 gdb 程序”。原因:未设置好Debugger 执行路径。...解决方法:菜单Settings-Debuggers-Default,然后在 Executable path中选择 gdb 程序,比如选择了C:\Program Files (x86)\CodeBlocks\MinGW...\bin路径下 gdb 32.exe。...菜单:View-Manager 或者按Shfit+F2 7.明明修改了代码或者新增了代码文件,运行 时候还是 一次运行 结果 可能 原因: 直接点击了运行(Ctrl+F10)。...其他技巧: 格式化代码:右键点击源文件(可以在编辑框或者左侧面板 文件上面右击),选择 Format this file (AStyle)。

    2.4K 3 0

    【嵌入式开发】 嵌入式开发工具简介 (裸板调试示例 | 交叉工具链 | Makefile | 链接器脚本 | eclipse JLink 调试环境)

    对比交叉编译 和 普通编译 可执行文件 : 通过 file 命令对比可执行文件; -- 交叉编译 : 使用 arm-linux-gcc main.c -o hello-arm 命令交叉编译结果 hello-arm...02_gcc_demo]# file hello-x86 hello-x86: ELF 32-bit LSB executable , Intel 80386, version 1 (SYSV), dynamically...x86 平台之间 程序不能互相运行; -- CPU 大小端不对 : 大端格式 程序不能运行在小端 CPU ; -- 库不对 : 使用 arm-linux-readelf -d hello-arm 查看程序运行需要 库...arm-linux- gdb -7.5]# cat build-all #/bin/sh rm -fr gdb -7.5 rm -r /opt/arm-linux- gdb / tar xvzf gdb -...arm-linu- gdb , 但是 /opt 下面的先配置, 因此事这个先生效; -- 默认 arm-linu- gdb : 是 7.5 版本 ; -- 交叉工具链中 gdb : 6.8版本 ,

    2K 2 0

    msfconsole笔记

    载荷这个东西比较多,这个软件就是根据对应 载荷payload生成对应平台下 后门,所以只有选对payload,再填写正确自己 IP,PORT就可以生成对应语言,对应平台 后门了!!!...(- -help-formats 列出所有文件格式) Executable formats: asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only...–s 生成payload 最大长度,就是文件大小。 8. –b 避免使用 字符 例如:不使用 ‘0f’。 9. –i 编码次数。 10. –c 添加自己 shellcode。 11....普通生成 msfvenom -p -f -o msfvenom –p windows/meterpreter/reverse_tcp...-n -f -o msfvenom –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai

    446 1 0

    【linux】 gdb

    01. gdb 使用 程序 发布方式有两种,debug模式和release模式 Linux gcc/g++出来 二进制程序,默认是release模式 要使用 gdb 调试,必须在源代码生成二进制程序 时候, 加上...PHONY: clean 5 clean: 6 rm -f myprocess-debug readelf -S myprocess-debug readelf 是一个用来显示 ELF( Executable ...and Linkable Format )文件信息 工具。...\n"); return 0; gdb binFile 退出: ctrl + d 或 quit 调试命令: list/l 行号:显示binFile源代码,接着上次 位置往下列,每次列10行。...until X行号:跳至X行 breaktrace(或bt):查看各级函数调用及参数 info(i) locals:查看当前栈帧局部变量 值 quit:退出 gdb

    101 1 0

    怎样在VSCode中调试C++程序

    或许本文是该系列最后一篇文章,可以通过一下文章阅读本系列以往 章节 1.Linux中编译C++代码 g++工具,以及g++ 常用操作指令 2.Linux下C++命令行编译示例 3.Linux下 GDB ...在开始之前,需要通过 VSCode官网下载对应操作系统 最新版本,并安装到自己 电脑 。 这篇文章并不会涉及 VSCode 基本操作,比如创建项目、安装插件、设置 等等 知识。...Debug 方式 set(CMAKE_BUILD_TYPE Debug) # 包含目录 include_directories(${CMAKE_SOURCE_DIR}/include) add_ executable ...创建任务文件 通过 terminal -> Configure Default Build Task 菜单,并选择 Create tasks.json file from template -> Others...LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks

    3.8K 0 0

    tomcat无法正常关闭问题分析及解决

    如下为shutdown.sh脚本内容: PRGDIR=`dirname "$PRG"` EXECUTABLE = catalina .sh # Check that target executable exists...-x "$PRGDIR"/"$ EXECUTABLE " ]; then echo "Cannot find $PRGDIR/$ EXECUTABLE " echo "The file is absent...fi exec "$PRGDIR"/"$ EXECUTABLE " stop "$@" 显然,shutdown.sh只是一个执行入口,真正执行关闭操作是在 catalina .sh中实现 ,继续查看 catalina .sh...方法中会根据在 catalina .sh脚本传递 不同参数(start,stop)执行不同 方法。...为什么停止Tomcat之后进程依然存在 Tomcat是一个Servlet容器,用于部署Serlvet程序(我们通常写 各种Java Web应用本质 就是一个Servlet程序)。

    2.2K 2 1

    (一)ROS系统入门 Getting Started with ROS 以Kinetic为主更新 附课件PPT

    两行安装脚本 这是一个简短 可以用来在PC (ubuntu 13.10 和 14.04 LTS)安装ROS Indigo 脚本文件。...两行安装脚本 这是一个简短 可以用来在PC (ubuntu 13.10 和 14.04 LTS)安装ROS Indigo 脚本文件。...两行安装脚本 这是一个简短 可以用来在PC (ubuntu 13.10 和 14.04 LTS)安装ROS Indigo 脚本文件。...在Ubuntu中安装ROS Indigo 我们已经预编译好ubuntu平台 Debian软件包,直接安装编译好 软件包比从源码编译安装更加高效,这也是我们在ubuntu 首选安装方式。 ...is '10.6' but CMAKE_ OSX _SYSROOT: is not set to a MacOSX SDK with a recognized version.

    3.4K 2 0

    Jave2-Java音频视频编码器

    项目 Java包装器。...Jave2 首页 介绍: JAVE2是一个小 Java库,它将ffmpeg包装到java类中。 它是基于Carlo Pelliccia 杰作。...支持 Maven/Gradle 从github描述 ,支持Maven/Gradle 方式引入依赖 jar,比 jave1.0 时候需要先从官网download jar,然后 手动在加入应用 CLASSPATH..."- osx " : ""); String arch = System.getProperty("os.arch"); // 获取 ffmpeg 文件, File ffmpegFile.../ 拷贝文件代码,具体略 Jave2 总结 Jave 虽然不在维护了,但是 它 “哥哥” Jave2 出现了,功能还是很强大 ,基本 能满足工作 一些对 音频视频 操作了。

    1.2K 4 0