tasks.json과 launch.json 은 .vscode 디렉토리 하에 복사
libavcodec/h264dec.c
- h264_decode_frame ( ... ) 함수가 H264 Decoding Entrypoint로 보임
| #!/bin/bash | |
| # Building Debugable FFmpeg | |
| git clone https://github.com/FFmpeg/FFmpeg.git | |
| cd FFmpeg | |
| ./configure --disable-optimizations --enable-static --disable-shared --disable-stripping --disable-mmx --disable-ssse3 --disable-asm --enable-debug=3 --extra-cflags="-O0 -fno-inline" --enable-gpl --prefix=./build | |
| make -j | |
| code . | |
| { | |
| // IntelliSense를 사용하여 가능한 특성에 대해 알아보세요. | |
| // 기존 특성에 대한 설명을 보려면 가리킵니다. | |
| // 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요. | |
| "version": "0.2.0", | |
| "configurations": [ | |
| { | |
| "name": "ffmpeg debugging", | |
| "type": "cppdbg", | |
| "request": "launch", | |
| "program": "${workspaceFolder}/ffmpeg_g", | |
| "args": ["-i", "/mnt/c/Users/jangsoopark/Desktop/asdf/research/hanwha/DarkRoom1/ASIX_100lux_Motion_h264.mp4", "-codec:v", "rawvideo", "-pix_fmt", "yuv420p", "asdf.yuv"], | |
| "stopAtEntry": false, | |
| "cwd": "${fileDirname}", | |
| "environment": [], | |
| "externalConsole": false, | |
| "MIMode": "gdb", | |
| "preLaunchTask": "build ffmpeg_g", | |
| "setupCommands": [ | |
| { | |
| "description": "gdb에 자동 서식 지정 사용", | |
| "text": "-enable-pretty-printing", | |
| "ignoreFailures": true | |
| }, | |
| { | |
| "description": "디스어셈블리 버전을 Intel(으)로 설정", | |
| "text": "-gdb-set disassembly-flavor intel", | |
| "ignoreFailures": true | |
| } | |
| ] | |
| } | |
| ] | |
| } |
| { | |
| "tasks": [ | |
| { | |
| "type": "cppbuild", | |
| "label": "build ffmpeg_g", | |
| "command": "make", | |
| "args": [ | |
| "-j" | |
| ], | |
| "options": { | |
| "cwd": "${workspaceFolder}" | |
| }, | |
| "problemMatcher": [ | |
| "$gcc" | |
| ], | |
| "group": { | |
| "kind": "build", | |
| "isDefault": true | |
| }, | |
| "detail": "디버거에서 생성된 작업입니다." | |
| } | |
| ], | |
| "version": "2.0.0" | |
| } |