기술나눔

[Linux] gdb를 사용하여 Windows 플랫폼에서 FFmpeg 소스 코드 디버깅

2024-07-12

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

FFmpeg는 크로스 플랫폼 멀티미디어 라이브러리입니다. 때로는 다른 플랫폼에서 개발하고 디버깅해야 할 때도 있습니다. Linux 환경에서 gdb를 사용하여 FFmpeg 소스 코드를 디버깅하는 기본 방법을 기록합니다.

1. 실행파일

Windows 플랫폼에서 Linux 환경을 사용하여 FFmpeg 소스 코드를 디버깅하려면 접미사가 _g인 exe 파일을 컴파일하고 생성해야 합니다.ffmpeg 컴파일 .Windows 플랫폼에서 디버깅을 사용하려면 FFmepg를 컴파일하여 pdb 파일을 생성할 때 –toolchain=msvc를 추가해야 합니다.
여기에 이미지 설명을 삽입하세요.

2. GDB 디버깅

gdb 디버깅, 명령 동작을 위해 가상 Linux 환경인 msys2를 사용합니다.

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

여기에 이미지 설명을 삽입하세요.
일반적으로 사용되는 명령:

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

목록 명령 사용
여기에 이미지 설명을 삽입하세요.
여기를 보시면 함수의 진입점이 fftoolffmpeg.c의 메인 함수에 위치해 있는데, 중단점을 추가하시면 디버깅이 가능합니다.