【Linux】Windows平台使用gdb调试FFmpeg源码

FFmpeg是一个跨平台的多媒体库,有时需要在别的平台上进行开发和调试,记录一下在linux环境下使用gdb来调试FFmpeg源码的基本方式

1.可执行文件

在windows平台使用linux环境来调试FFmpeg源码,需要编译生成一个后缀有_g的exe文件,参考ffmpeg编译。在windows平台下,如果想要使用vs调试,需要在编译FFmepg时添加–toolchain=msvc来生成pdb文件
在这里插入图片描述

2. gdb调试

使用msys2这个虚拟的linux环境来进行gdb调试,命令行为

gdb ffmpeg_g.exe  // 开始启用gdb
set args -i output.h264 test.yuv // 设置参数,输入为output.h264,输出为test.yuv
start // 开始调试

在这里插入图片描述
常用命令:

n // next, 逐过程
s // step, 逐语句
list // 显示代码
b n // 设置第n行一个断点
jump n // 跳转到第n行

使用list命令
在这里插入图片描述
这里看,函数的入口位于fftool\ffmpeg.c的main函数,之后加上断点就可以调试了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTP中常见的状态码有哪些?

常用的包括以下几个: 200:表示客户端请求成功 201:请求成功,服务器创建了新资源。 204:无内容,服务器成功处理请求,但未返回任何内容。 206: 表示“部分内容”,当客户端请求一个资源的一部分时,…

YOLOv10部署教程,使用tensorRT部署,有转化和推理代码

YOLOv10部署教程,使用tensorRT部署,有转化和推理代码 一、使用平台1. 转化onnx模型转化trt模型模型推理全部的代码论文题目:YOLOv10: Real-Time End-to-End Object Detection 研究单位:清华大学 论文链接:http://arxiv.org/abs/2405.14458 代码链接:https://github.com/T…

每天一个数据分析题(四百二十三)- 置信区间

在给定的显著性水平下,某一特定的X水平上,总体Y分布的离散度越大,即σ^2越大,则 A. 预测区间越宽,精度越低 B. 预测区间越宽,预测误差越小 C. 预测区间越窄,精度越高 D. 预测区间越窄&#…

如何在idea安装git,使用gitee?

一、什么是git,git与gitee、GitHub的关系? 1.什么是git? Git 是一个开源的分布式版本控制系统,用于企业项目中程序员协同开发。 2.git与gitee、GitHub的关系是什么? git :Git是一种版本控制系统&#x…

看完这篇,你的服务设计能力将再次进化!

引言 在当今快速演变的技术场景中,服务设计不仅仅是遵循通用的设计规范和最佳实践的问题,它更深层次地触及到如何在满足这些标准的同时,确保服务能够灵活适应未来的变化、满足用户的期望。本篇文章旨在探讨在遵循通用设计规范之外&#xff0…

Three.js相机简明教程

相机校准是 3D 计算机图形学中的一个基本概念,涉及设置虚拟相机以模拟真实世界相机的视角和行为。在 Three.js(一种流行的 3D 渲染 JavaScript 库)中,了解相机校准对于创建逼真且身临其境的 3D 场景至关重要。在本文中&#xff0c…

UML类图的建立过程

1. 概念层类图 概念层的类图描述的是现实世界中对问题领域的概念理解,类图中表达的类与现实世界的问题领域中的实际事物有着明显的对应关系,类之间的关系也与问题领域中实际事物之间的关系有着明显的对应关系。在概念层类图阶段很少考虑或者几乎不需要考…

07-7.5.1 散列表的基本概念

👋 Hi, I’m Beast Cheng 👀 I’m interested in photography, hiking, landscape… 🌱 I’m currently learning python, javascript, kotlin… 📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…

指令v-el的作用是什么

在Vue.js的早期版本中(特别是Vue 1.x版本),v-el 指令被用来给元素注册引用信息(即DOM元素的引用)。这样,开发者就可以在Vue实例的方法中直接访问到这个DOM元素。然而,需要注意的是,从…

28.IP核理论知识(Xilinx)

(1)ip核是什么? IP(Intellectual Property)即知识产权,在半导体产业中,将IP核定义为“用于ASIC或FPGA中的预先设计好的电路功能模块”,简而言之,这里的IP即电路功能模块。…

Element轮播图组件切换太单调?手把手带你重写切换效果

前言: 最近在逛山东博物馆网站的时候,发现该网站主页淡入淡出的轮播图非常的优雅,所以就想来复刻一下,也算是对组件进行了二次的封装和修改 工具准备: Vue3Element Plus走马灯组件 注意事项: Element …

GPX文件的元素内容详解

GPX文件的来源 GPX文件(GPS eXchange Format)是一种用于存储GPS数据的开放标准格式,它可以包含航路点、轨迹和路线等信息。这些文件通常来源于GPS设备、户外活动追踪应用程序、地图服务或用户之间的数据共享。用户可以通过各种软件和硬件设备…

Python爬虫:基础爬虫架构及爬取证券之星全站行情数据!

爬虫成长之路(一)里我们介绍了如何爬取证券之星网站上所有A股数据,主要涉及网页获取和页面解析的知识。爬虫成长之路(二)里我们介绍了如何获取代理IP并验证,涉及了多线程编程和数据存储的知识。此次我们将在…

网络编程学习之tcp

按下*(星号)可以搜索当前光标下的单词。 Tcp编程的过程 打开网络设备 Bind:给服务地址把ip号和端口号连接进去 Tcp是有状态的 Listen是进入监听状态,看有没有客户端来连接服务器 Tcp比udp消耗过多资源 Upd类似于半双工&#…

D50SB100-ASEMI逆变焊机专用D50SB100

编辑:ll D50SB100-ASEMI逆变焊机专用D50SB100 型号:D50SB100 品牌:ASEMI 封装:DSB-5 批号:2024 现货:50000 正向电流(Id):50A 反向耐压(VRRM&#xf…

编程语言没落了?揭开真相的四大谜团、五大趋势、六大挑战与七大未来

编程语言没落了?揭开真相的四大谜团、五大趋势、六大挑战与七大未来 在科技飞速发展的今天,有人宣称编程语言已经没落,这一观点似乎让人困惑不已。然而,真相究竟如何?本文将从四个方面揭示编程语言的现状,…

【AIGC】二、mac本地采用GPU启动keras运算

mac本地采用GPU启动keras运算 一、问题背景二、技术背景三、实验验证本机配置安装PlaidML安装plaidml-keras配置默认显卡 运行采用 CPU运算的代码step1 先导入keras包,导入数据cifar10,这里可能涉及外网下载,有问题可以参考[keras使用基础问题…

echarts中tooltip添加点击事件代码示例

echarts中tooltip添加点击事件代码示例_javascript技巧_脚本之家 点击事件无法使用this 或者 this无法使用:

Qt图形编辑类使用总结

Qt的图形编辑通常会涉及以下三个类:QGraphicsView类、QGraphicsScene类及QGraphicsItem类。 QGraphicsView 是构建复杂图形用户界面的强大工具,尤其适用于那些需要动态更新、可交互的2D图形化应用程序,如图表绘制、流程图编辑器、游戏地图显示等等。通过结合使用 QGraphics…

13--memcache与redis

前言:数据库读取速度较慢一直是无法解决的问题,大型网站应对的方式主要是使用缓存服务器来缓解这种情况,减少数据库访问次数,以提高动态Web等应用的速度、提高可扩展性。 1、简介 Memcached/redis是高性能的分布式内存缓存服务器…