趣味答题

导航菜单



当前位置: 首页  /  科技  /  正文

macOS平台如何使用vscode调试ffmpeg

阅读:29

macOS平台如何使用vscode调试ffmpeg

准备知识:Debug C++ in Visual Studio Code

ffmpeg 源码 github.com/FFmpeg/FFmp…

调试ffmpeg_g, ffplay_g

ffmpeg 配置, 使其支持调试

关于-g3相关知识gcc-g-vs-g3-gdb-flag-what-is-the-difference

./configure  --disable-optimizations --disable-stripping --enable-debug=3 --disable-doc
make -j `nproc`

_g结尾的就是可以调试的程序ffmpeg_g, ffplay_g, ffprobe_g

vscode配置

如下命令:

# macOS上列出所有的音视频设备
ffmpeg -f avfoundation -list_devices true -i ""

launch.json 对应的配置

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(lldb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/ffmpeg_g",
            "args": ["-f", "avfoundation", "-list_devices", "true", "-i", "\"\""],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb"
        }
    ]
}

打上断点,点击运行,就可以愉快的调试了

附上链接:lldb 使用教程 Tutorial

相关学习资料推荐,点击下方链接免费报名,先码住不迷路~】

音视频免费学习地址:FFmpeg/WebRTC/RTMP/NDK/Android音视频流媒体高级开发

【免费分享】音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击788280672加群免费领取~

调试ffmpeg/doc/example

make examples 

在ffmpeg/doc/example目录下, 以_g结尾的就是可以调试的

配置launch.json

开始调试吧

修改代码重新编译

例如你在调试的时候,修改了ffmpeg的源码,想调试一下更改后的代码,需要重新编译生成。

cd ffmpeg
make -j 16
make examples

你想自动化这个过程,在调试之前自动编译,如何实现呢?

配置prelaunchTask

  1. 在tasks.json中添加一个task
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "make",
            "type": "shell",
            "command": "make -j 16; make examples",
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "options": {
                "cwd": "${workspaceFolder}"
            }
        }
    ]
}

在launch.json中配置prelaunchTask

然后修改代码,点击调试, vscode 自动执行make,编译修改后的文件,重新生成可执行程序。不用每次修改完想看看效果,还要手动去执行make,效率又提高了

备注:m1 芯片的mac 如果遇到调试问题

ERROR: Unable to start debugging. Unexpected LLDB output from command "-exec-run". process exited with status -1 (attach failed ((os/kern) invalid argument))

解决办法:

使用 CodeLLDB debugger插件,而不是vc code 原生的调试插件



作者:yxibng
链接:https://juejin.cn/post/70730843

标签

macOS平台使用vscode调试ffmpeg


相关文章列表

历史上有哪些曾风靡一时或被大量使用后被证明是有严重危害的东西?

历史上有哪些曾风靡一时或被大量使用后被证明是有严重危害的东西?

我认为首推“五石散”。五石散风靡了整个魏晋南北朝的士大夫阶层。一度被认为是对身体有滋补作用的灵丹妙药。服后精力暴增,不眠不休,浑身燥热,需要脱光衣服在室外不停行...


如何看待,跳大神封建迷信诈骗日益猖獗,利用短视频平台作案?

如何看待,跳大神封建迷信诈骗日益猖獗,利用短视频平台作案?

触碰法律底线 迈过法律红线的事肯定是没得商量的喔!传统文化就看怎么利用和传播 跳大神往形式上说是接地气的民俗文化 在所在当地根深蒂固 不可避免的会有出现一些走样甚至扭曲分支 甚至通过网络影响容易受骗的...


营销利器!让你的消息直击目标!企信通短信平台助力企业营销大爆发!

营销利器!让你的消息直击目标!企信通短信平台助力企业营销大爆发!

互联网时代的到来,企业之间的非常规联系方式也逐渐得到了普及,短信作为一种高效、便捷的沟通方式,深受广大企业的喜爱。企信通短信平台的诞生,为企业的日常沟通和营销提供了全新的体验。企信通短信平台的特色功能...


为什么不推荐使用原生微信编辑器?

为什么不推荐使用原生微信编辑器?

因为有些功能微信公众号无法实现,所以需要借助第三方微信编辑器实现,这里我推荐一下速排小蚂蚁编辑器,非常适合新手小白,里面有一个专门的排版课堂,看完就会对微信公众号排版有一个大体的了解,而且都是免费的很...


同样基于Electron开发,为什么VScode性能比typora性能好很多倍?

同样基于Electron开发,为什么VScode性能比typora性能好很多倍?

同样是基于Electron,但是如果打开大纯文本文件,VScode只是比Excel慢一点,typora即便打开源代码模式,也仍然相当卡或者根本打不开。...


实现使用tk.mybaits只更新指定字段

实现使用tk.mybaits只更新指定字段

去年年底的因为业务需要需要在使用tk.mybaits框架的系统中实现指定字段的更新,可是tk.mybaits框架本身并不支持这个功能,我翻遍了CSDN和其他相关的技术相关的网站都没有找到相关的解决方法...


友情链接