Compartilhamento de tecnologia

[Linux] Use gdb para depurar o código-fonte FFmpeg na plataforma Windows

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

FFmpeg é uma biblioteca multimídia multiplataforma. Às vezes, precisa ser desenvolvida e depurada em outras plataformas. Grave o método básico de uso do gdb para depurar o código-fonte do FFmpeg em um ambiente Linux.

1. Arquivo executável

Para depurar o código-fonte FFmpeg usando ambiente Linux na plataforma Windows, você precisa compilar e gerar um arquivo exe com sufixo _g, consultecompilação ffmpeg .Na plataforma Windows, se você quiser usar vs depuração, você precisa adicionar –toolchain=msvc ao compilar o FFmepg para gerar arquivos pdb.
Insira a descrição da imagem aqui

2. depuração gdb

Use msys2, um ambiente Linux virtual, para depuração gdb, comportamento de comando

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

Insira a descrição da imagem aqui
Comandos comumente usados:

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

Usar comando de lista
Insira a descrição da imagem aqui
Veja aqui, o ponto de entrada da função está localizado na função principal do fftoolffmpeg.c, e então você pode depurá-lo adicionando um ponto de interrupção.