VSCode 搭建 x264 源码调试环境的详细步骤

目录
  • 1.下载 x264
  • 2. 使用上一节介绍的方法为 x264 生成支持 debug 的 x264.exe
  • 3. 在 VSCode 中打开 x264 源码文件夹
  • 4. 创建并配置 launch.json
    • 4.1 创建 launch.json
    • 4.2 配置 launch.json 的 gdb.exe 路径
    • 4.3 配置 launch.json 的 x264.exe 路径
  • 5. 创建并配置 tasks.json
    • 5.1 创建 tasks.json
    • 5.2 配置 tasks.json 的 gcc.exe 路径
  • 6. 在 launch.json 添加 x264 的命令参数
    • 6.1 先准备一个 yuv 文件
    • 6.2 在 launch.json 填启动命令参数
  • 7. 调试 x264 源码
    • 7.1 打断点
    • 7.2 debug

本节用到了上节Win10环境下 编译 和 运行 x264 搭建的 msys 和 mingw 的环境
使用的 MSYS2 MINGW64 、 gcc.exe 、 gdb.exe 都是上一节搭建好的环境

1.下载 x264

https://www.videolan.org/developers/x264.html

解压后

2. 使用上一节介绍的方法为 x264 生成支持 debug 的 x264.exe

我在 D盘 创建一个新的文件夹 x264_vscode_debug,用于存放之后要生成的 x264.exe

上一节博客:Win10环境下 编译 和 运行 x264

打开 MSYS2 MINGW64 输入下面的命令

cd  D:\x264_vscode_debug
cd x264-master
./configure --enable-debug --prefix=D:\/x264_vscode_debug\/x264_generat
make
make install

其中 x264_generat 文件夹不要我们自己去创建,后面 make install 的时候会自动生成

这样就生成了 x264_generat\bin\x264.exe

3. 在 VSCode 中打开 x264 源码文件夹

4. 创建并配置 launch.json

4.1 创建 launch.json

点击 Run–>AddConfiguration–>c/c++: (gdb) 启动, 就能创建 launch.json

4.2 配置 launch.json 的 gdb.exe 路径

先找到 gdb.exe 的路径(依赖上一节博客搭建的环境)

将 gdb.exe 的路径填到 launch.json 里面,注意要把路径里的 \ 改成 \\

C:\\msys64\\mingw64\\bin\\gdb.exe

4.3 配置 launch.json 的 x264.exe 路径

先找到之前生成的 x264.exe 路径

然后把路径填到 launch.json,注意要把路径里的 \ 改成 \\

5. 创建并配置 tasks.json

5.1 创建 tasks.json

点击 Terminal–>Condigure Tasks…–>Create tasks.json from template–>MSBuild Excutes the build target ,就能创建 tasks.json

5.2 配置 tasks.json 的 gcc.exe 路径

找到 gcc.exe 的路径(依赖上一节博客搭建的环境):
C:\msys64\mingw64\bin\gcc.exe

将 gcc.exe 的路径 填到 tasks.json

点击 Run --> Run Without Debugging

terminal 打印没有传命令参数

解决办法是 在 launch.json 添加 x264 的命令参数

6. 在 launch.json 添加 x264 的命令参数

6.1 先准备一个 yuv 文件

6.2 在 launch.json 填启动命令参数

"-o", "D:\\x264_vscode_debug\\x264_generat\\bin\\768_320.h264", "D:\\x264_vscode_debug\\x264_generat\\bin\\768x320.yuv"

参数的意思是: 输入文件为 D:\x264_vscode_debug\x264_generat\bin 路径下的 768x320.yuv ,让 x264 编码,生成输出文件为 D:\x264_vscode_debug\x264_generat\bin 下的 768_320.h264

运行后, terminal 打印如下

同时,也在路径下面生成了 相应的 h264 文件

我们使用 ffplay 播放这个编码好的 768_320.h264

ffplay D:\x264_vscode_debug\x264_generat\bin\768_320.h264

播放成功,说明编码的 h264 没有问题。

7. 调试 x264 源码

7.1 打断点

7.2 debug

到此这篇关于VSCode 搭建 x264 源码调试环境的文章就介绍到这了,更多相关VSCode源码调试内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 在VSCode中搭建Python开发环境并进行调试

    Get Started Tutorial for Python in Visual Studio Code 一.安装Python Python简介与Python安装 二.VSCode中安装和调试Python 在 VSCode 中搜索扩展 Python,如下图: 安装完成后需要重新加载 VSCode 使插件生效. 1.配置 Python 环境 在 VSCode 中点击状态栏左下角的 Python 图标: 然后选择 Python 解释器,这里博主选择我们刚才安装好的 3.8版本 2.代码检测和格式化

  • VSCode 搭建 Arm 远程调试环境的步骤详解

    简介 前提条件: 确保本机已经安装 VS Code. 确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server. VSCode 已经安装了插件 C/C++. 本次搭建的环境: 主机:windows 10 服务器:ubuntu 16.04 VSCode 版本:February 2020 (version 1.43) Arm:海思 3559A (已配置好编译工具链和 gdb server) 连接远程主机 Remote Development 首先安装 Remote Dev

  • 使用VScode 插件debugger for chrome 调试react源码的方法

    代码调试,是我们前端日常工作中不可或缺的能力了吧! 在面向dom开发的时代,我们开发时直接在chrome里打断点是很方便的. 但是,当我们面向组件开发时(react),浏览器拿到的是我们编译过后的代码,还想在浏览器里打断点几乎是不可能的了. 场景 那怎么办,方法总是比困难多!愚蠢的我想到了console/debugger!!一直在使用,虽然很不方便(打印太多实在太乱!上线还要配置删除掉),但是我竟然使用了很久(这真是一个糟糕的编码习惯吧).直到今天,我想研究一下react源码,需要断点的地方有很

  • VSCode 搭建 x264 源码调试环境的详细步骤

    目录 1.下载 x264 2. 使用上一节介绍的方法为 x264 生成支持 debug 的 x264.exe 3. 在 VSCode 中打开 x264 源码文件夹 4. 创建并配置 launch.json 4.1 创建 launch.json 4.2 配置 launch.json 的 gdb.exe 路径 4.3 配置 launch.json 的 x264.exe 路径 5. 创建并配置 tasks.json 5.1 创建 tasks.json 5.2 配置 tasks.json 的 gcc.e

  • 教你使用IDEA搭建spring源码阅读环境的详细步骤

    目录 第一步.准备gradle环境 第二步.下载spring源码 第一步.准备gradle环境 1.去官网下载gradle https://gradle.org/releases/ 2.将其解压缩,创建repository文件夹 和init.d文件夹 创建init.gradle文件 输入文本信息,主要是配置阿里云镜像仓库地址,和maven的类似 gradle.projectsLoaded { rootProject.allprojects { buildscript { repositories

  • 基于Gradle搭建Spring 5.3.13-release源码阅读环境的详细流程

    目录 # 1.安装JDK # 2.安装Gradle # 3.Spring版本命名规则 # 4.下载Spring 5.3.13-release源码 # 5.修改Spring源码中Gradle配置 # 6.构建Spring源码 # 7.导入IDEA 点击File --> New --> Project from Existing Sources... # 8.创建Spring源码debug调试模块 # 基于Gradle搭建Spring 5.5.13-release源码阅读环境 Spring版本:5

  • Windows下搭建FFmpeg开发调试环境的详细步骤

    目录 背景 步骤 一.安装VS 2017 二.安装 YASM 与 NASM 三.创建正确的目录层次 四.下载源码和相关依赖 五.编译与调试 ⏭️ 一键部署脚本 背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可. 但是如果你想调试FFmpeg内部相关的逻辑,或者分析FFmpeg源码,那么有一个可供单步调试FFmpeg的环境往往能使你事半功倍! 要说Windows下做C/C++开发用哪个IDE最强大

  • React 源码调试方式

    目录 正文 断点调试 搜索定位 Chrome Devtools 调试 sourcemap npm 下载react包 插件注释 调试 React 最初源码 关联 react 源码项目 总结 正文 什么?调试 React 源码还有优雅和不优雅之分? 别着急,我们先来听个故事: 东东是一名前端工程师,主要用 React 技术栈,用了多年之后想深入一下,所以最近开始看 React 源码. 断点调试 他把 react 和 react-dom 包下载了下来,在项目里引入,开发服务跑起来后,打开 Chrome

  • 搭建Tomcat 8源码开发环境的步骤详解

    前言 最近在网上搜索了很多关于tomcat源码环境搭建的文章,发现按照文章的步骤,几乎都启动不了,于是自己尝试搭建,下面是搭建的方法. 基础环境搭建 1.下载tomcat源代码,我这里是通过svn的方式下载的,svn下载地址 2.下载安装maven工具,这里我就不多说了,安装说明太多了,自己网上找. 3.IDE,我这里使用idea 生成maven工程 我的代码本地目录是: /Users/helanzhou/Documents/helanzhou/java/Tomcat/tomcat8/tomca

  • springboot-2.3.x最新版源码阅读环境搭建(基于gradle构建)

    一.前言 跟很多小伙伴聊天,发现一个严重的问题,很多小伙伴横向发展的貌似很不错,很多技术都能说出一二,但是如果在某个技术上深挖一下就不行了,问啥啥不会.就拿springboot来说,很多同学止步于springboot的应用,再往深处就一问三不知了,那么如何破局呢?smart哥认为最好的办法就是直捣黄龙,要把一个技术理解透了,听别人讲一万遍原理,不如自己撕一遍源码. 要阅读源码那就首先得先搭建源码阅读环境,那么本篇文章就来介绍下Spring Boot的源码环境搭建. 鉴于spring团队已经全面抛

  • Node.js高级编程cluster环境及源码调试详解

    目录 前言 准备调试环境 编译 Node.js 准备 IDE 环境 Cluster 源码调试 SharedHandle RoundRobinHandle 为什么端口不冲突 SO_REUSEADDR 补充 SharedHandle 和 RoundRobinHandle 两种模式的对比 前言 日常工作中,对 Node.js 的使用都比较粗浅,趁未羊之际,来学点稍微高级的,那就先从 cluster 开始吧. 尼古拉斯张三说过,“带着问题去学习是一个比较好的方法”,所以我们也来试一试. 当初使用 clu

  • Idea 搭建Spring源码环境的超详细教程

    本篇主要讲解如何使用Ideal 搭建Spring的源码环境,想必大家都会多多少少去看过Spring的部分源码,一般我们都是直接点进某个Spring类 然后Idea上面去下载 ,但是确实比较麻烦,而且不能添加自己对源码的注释 理解 ,本篇就来解决这个问题,手把手使用Idea 搭建Spring framework ,并且直接在Spring framework项目中添加我们自己的module 来验证环境是否正确. 本过程会比较耗时 而且容易出错 慢慢来吧. 1. clone spring-framew

  • OpenJDK源码调试图文教程

    前言      随着Java生态愈发庞大,各种各样的新技术层出不穷,这也给大家的学习带来了很多困惑,这么多技术我该学什么,盲目的在各种新技术间穿梭,并不能取得很好的效果.      作为Java核心技术的JDK相信很多同学都看过源码,了解过Java的内存模型,但是很多时候debug到最后都是 native,这是让人很沮丧的事情,于是乎了解JDK底层的实现变得极为重要.     编译OpenJDK源码的文章很多,但是很少有从头到尾搭建环境的文章,于是我这里就写了这篇文章,这里涉及的主要步骤: 虚拟

随机推荐