调试与运行时检查
Debugging & runtime inspection
Set breakpoints, step and inspect runtime state (variables, arrays, call stacks, data viewers) to explain behavior or find a root cause, then fix it when there is a defect.
20 条本项目编写的提案 · 分类 v1.1 · 新增基准运行 0 次。下方验证方式与部分得分规则是设计,不是执行结果。
- 典型应用
- VS Code · Xcode · Visual Studio · gdb
- 小类 GUI 需求标签
HY· 混合
任务提案 · 20
展开查看完整原文与建议检查方式;两种界面均保留提案英文原文。
R02.03.01.01-T01 Use a conditional breakpoint in VS Code to find the row that corrupts a total
原始指令
`/work/ledger-import` (Python) imports `fixtures/march.csv` (48k rows) and the final balance is off by 1,204.17. Using the VS Code Python debugger with a conditional breakpoint in `apply_row()`, find the first row after which the running balance diverges from `expected_running.csv`, write its row id to `ROW.txt`, and fix the parsing bug.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- VS Code · debugpy
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击type· 文字与表单code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
ROW.txt equals the seeded first-divergent row; hidden tests on 3 other CSVs pass after the fix; debugpy adapter log shows a conditional breakpoint set in apply_row and hit (logged by the instrumented adapter).
建议部分得分
40% correct row; 40% fix passes hidden tests; 20% debugger evidence
R02.03.01.01-T02 Diagnose a release-only C++ crash from static initialization order with gdb
原始指令
`/work/allocsvc` (C++) crashes at startup only in `-O2` release builds. Use gdb on the release binary (symbols in a separate .debug file) to find which static object is used before construction, write the two translation units involved to `ROOT.txt`, and fix it without disabling optimizations.
- 平台
lin· Linux- 应用
- gdb · CMake · gcc
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
ROOT.txt names the seeded TU pair; release build starts and passes the smoke test 100/100 runs; fix uses construct-on-first-use or equivalent (no -O0, no link-order hack only); gdb history file shows bt in the crashing frame.
建议部分得分
40% root cause identified; 40% fixed in release; 20% fix approach valid
R02.03.01.01-T03 Find a Swift use-after-free with Xcode's Zombies and Address Sanitizer
原始指令
The macOS app `PhotoStack` crashes with EXC_BAD_ACCESS after deleting an album while thumbnails load. In Xcode, enable Address Sanitizer and Zombie Objects in the scheme, reproduce the crash in the running app, identify the over-released object and fix the ownership bug. Note the class in `ROOT.txt`.
- 平台
mac· macOS- 应用
- Xcode · LLDB
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
ROOT.txt names the seeded class; scheme file has ASan enabled; hidden UI test (XCUITest) deleting albums during load 50 times passes without crash or ASan report; fix keeps behavior tests green.
建议部分得分
40% correct object; 40% UI stress test passes; 20% scheme diagnostics configured
R02.03.01.01-T04 Break a WPF deadlock using Visual Studio's Parallel Stacks
原始指令
The WPF app `C:\work\Dispatcher` freezes when clicking `Sync now` twice quickly. Run it under the Visual Studio debugger, Break All while frozen, use Parallel Stacks and Threads windows to identify the lock-order inversion, record the two lock objects in `C:\work\ROOT.txt`, and fix it.
- 平台
win· Windows- 应用
- Visual Studio · WPF
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动vis· 视觉判断- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
ROOT.txt names both seeded lock fields; hidden UI automation (FlaUI) double-clicks Sync 200 times with no hang (watchdog 5 s); unit tests green; no lock removed without replacement (static check that shared state is still synchronized).
建议部分得分
40% locks identified; 40% no hang; 20% synchronization preserved
R02.03.01.01-T05 Use a DOM breakpoint in Chrome DevTools to find who hides a form field
原始指令
On the sandbox signup page served from `/work/signup-web`, the `VAT number` field disappears 2 s after selecting country `Portugal`. Use Chrome DevTools DOM change breakpoints (subtree/attribute) to find the script and line that hides it, write `file:line` to `ROOT.txt`, and fix the bug in source.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- Chrome DevTools
- 交互表面
brow· 浏览器desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动vis· 视觉判断- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
ROOT.txt equals the seeded location (minified bundle source-mapped; the culprit is a third-party-looking module, not the obvious form code); hidden Playwright test confirms field remains visible for PT and hidden for US.
建议部分得分
40% correct location; 50% fix verified by tests; 10% no regressions for other countries
R02.03.01.01-T06 Fix an edit-resistant Python bug by stepping through it with pdb
原始指令
`/work/nightmare/solver.py` returns wrong answers for some inputs because of an aliasing bug hidden behind dynamic attribute access and a decorator cache. Using pdb (or `breakpoint()`), step through a failing case from `cases.json`, find the mutation that corrupts state, and fix it.
- 平台
lin· Linuxmac· macOS- 应用
- pdb · pytest
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden cases (200) pass; fix located in the seeded function (diff location check); pdb session transcript saved to `pdb.log` by the provided wrapper shows stepping into the decorator.
建议部分得分
70% hidden cases; 20% correct fix location; 10% debugger transcript
R02.03.01.01-T07 Catch memory corruption with an LLDB watchpoint
原始指令
`/work/ringbuf` (C) occasionally corrupts the `head` field of a struct after many operations. Reproduce with the provided seed, set an LLDB (or gdb) hardware watchpoint on `rb->head`, find the out-of-bounds write that changes it, record the function in `ROOT.txt`, and fix it.
- 平台
mac· macOSlin· Linux- 应用
- LLDB · gdb · clang
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
ROOT.txt equals the seeded writer function; hidden randomized test (1e6 ops × 20 seeds) passes with ASan; debugger history shows a watchpoint command.
建议部分得分
40% correct function; 50% randomized tests pass; 10% watchpoint evidence
R02.03.01.01-T08 Trace an unhandled promise rejection with async stack traces in VS Code
原始指令
The Node service `/work/orders-node` logs 'UnhandledPromiseRejection: undefined' under load and occasionally loses orders. Use the VS Code JavaScript debugger with 'Caught exceptions' and async stack traces to find where the rejection originates and which promise is not awaited; fix so no order is lost.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- VS Code · Node
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Hidden load test (5,000 orders with injected DB timeouts) persists all orders or returns 503 for retried ones; zero unhandled rejections with --unhandled-rejections=strict; root-cause function named in ROOT.txt.
建议部分得分
30% root cause named; 50% no lost orders; 20% no unhandled rejections
R02.03.01.01-T09 Debug an Android crash on screen rotation in Android Studio
原始指令
`FieldNotes` (Android) crashes when the device rotates during photo capture. In Android Studio, run on the emulator with the debugger attached, break on the exception, inspect the fragment state, and fix the lifecycle bug so state survives rotation.
- 平台
mac· macOSwin· Windowslin· Linuxand· Android- 应用
- Android Studio · Android Emulator
- 交互表面
desk· 桌面 GUImob· 移动触控- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Hidden Espresso test rotates 20 times during capture flow: no crash, captured photo path preserved; unit tests green; ROOT.txt names the seeded field/lifecycle method.
建议部分得分
30% root cause; 50% rotation test passes; 20% state preserved
R02.03.01.01-T10 Find a crash's root cause from a core dump with gdb
原始指令
`/work/imgd` crashed in production; you have the binary with debug symbols and `core.imgd.4412`. Using gdb post-mortem, determine the crashing thread, the corrupted variable and the input that triggered it (it is in a heap buffer), write them to `ROOT.json`, then fix the bug.
- 平台
lin· Linux- 应用
- gdb
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
ROOT.json thread id, variable name and triggering filename (recovered from memory) equal seeded values; fix passes hidden tests including the recovered input; no crash under ASan.
建议部分得分
20% thread; 30% variable; 20% input recovered; 30% fix
R02.03.01.01-T11 Locate native heap corruption with page heap and the Visual Studio debugger
原始指令
`C:\work\Tiler` (C++ Win32) crashes randomly far from the bug. Enable full page heap for Tiler.exe with gflags, run under the Visual Studio debugger to break at the first invalid access, identify the buffer overrun, record function and buffer in `C:\work\ROOT.txt`, and fix it.
- 平台
win· Windows- 应用
- Visual Studio · gflags · Application Verifier
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 5 / 5
建议验证方式
ROOT.txt matches the seeded function/buffer; hidden stress run with page heap enabled completes 500 tiling jobs without access violation; output images identical to reference; gflags setting removed afterwards.
建议部分得分
40% root cause; 40% stress run clean; 10% outputs unchanged; 10% gflags cleaned up
R02.03.01.01-T12 Find a goroutine leak with Delve
原始指令
`/work/streamer` (Go) grows goroutines without bound under reconnects. Attach Delve to the running process, use `goroutines` grouping and stack inspection to find where goroutines block forever, record the blocking call site in `ROOT.txt`, and fix the leak.
- 平台
lin· Linuxmac· macOS- 应用
- Delve · go
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
ROOT.txt equals the seeded file:line; hidden test performs 10k reconnects and asserts runtime.NumGoroutine returns to baseline ±5; goleak passes; dlv history shows goroutines listing.
建议部分得分
40% call site; 50% leak fixed; 10% debugger evidence
R02.03.01.01-T13 Pin down a Java stream NullPointerException with IntelliJ's evaluate expression
原始指令
`/work/catalog-java` throws an NPE deep inside a stream pipeline for one supplier's feed. In IntelliJ IDEA, set an exception breakpoint for NullPointerException, use Evaluate Expression and the Stream Trace debugger to find which element and which mapping step produce null, write both to `ROOT.txt`, and fix the mapping.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- IntelliJ IDEA · Maven
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动type· 文字与表单- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
ROOT.txt names the seeded SKU and mapping lambda; hidden feed tests pass; fix handles nulls per spec (skips with warning log) rather than catching NPE broadly (static check for catch NullPointerException).
建议部分得分
40% element + step; 40% tests pass; 20% fix approach
R02.03.01.01-T14 Use rr reverse execution to find who wrote a bad value
原始指令
`/work/simcore` (C++) produces NaN in `state.energy` after ~2M steps, nondeterministically. Record a failing run with `rr record` using the provided seed script, then use reverse-continue with a watchpoint to find the instruction that first wrote NaN, write its function and source line to `ROOT.txt`, and fix the numerical bug.
- 平台
lin· Linux- 应用
- rr · gdb
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 5 / 5
建议验证方式
ROOT.txt equals the seeded source location; hidden runs (20 seeds × 3M steps) produce no NaN and energy drift < 1e-6; an rr trace directory exists from the session.
建议部分得分
40% source location; 50% fixed across seeds; 10% rr trace evidence
R02.03.01.01-T15 Analyze a user-mode crash dump in WinDbg and fix the bug
原始指令
`C:\dumps\Invoicer.exe.1188.dmp` is a full user-mode dump from a .NET 8 app crash. In WinDbg with SOS, find the exception, the managed stack and the object state that caused it (`!pe`, `!clrstack`, `!do`), write the exception type and the offending field value to `C:\work\ROOT.json`, and fix the source in `C:\work\Invoicer`.
- 平台
win· Windows- 应用
- WinDbg · SOS · Visual Studio
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
type· 文字与表单nav· 平移 / 缩放 / 滚动code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
ROOT.json values equal the seeded exception type and field value (only recoverable from the dump heap); hidden tests pass with the fix; WinDbg log file contains !clrstack output.
建议部分得分
40% dump findings; 50% fix; 10% debugger log
R02.03.01.01-T16 Debug a race between the main thread and a web worker in DevTools
原始指令
The sandbox spreadsheet web app at `/work/gridcalc` sometimes shows stale totals after fast edits. Using Chrome DevTools (breakpoints in the worker thread, async stack traces, logpoints), find the message-ordering bug between main thread and worker, record the function in `ROOT.txt`, and fix it.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- Chrome DevTools
- 交互表面
brow· 浏览器desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Hidden Playwright test performs 500 rapid edits: displayed totals always equal recomputed totals after settle; ROOT.txt names the seeded handler; no logpoints/console noise left in source.
建议部分得分
35% root cause; 55% race fixed; 10% cleanup
R02.03.01.01-T17 Remote-debug a Python service inside a Docker container
原始指令
`/work/pricing-svc` runs in Docker Compose and returns wrong prices only inside the container (works locally). Attach VS Code's debugger to the container via debugpy (port mapping), inspect the environment-dependent value, write it to `ROOT.txt`, and fix the code so results are environment-independent.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- VS Code · Docker · debugpy
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击code· 代码与命令multi· 跨应用- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
ROOT.txt names the seeded env-dependent setting (container locale + decimal context); hidden tests in container and host pass; debugpy listen config added to compose dev override only.
建议部分得分
40% root cause; 40% fix passes in both envs; 20% dev-only debug config
R02.03.01.01-T18 Debug firmware in QEMU through a gdb stub
原始指令
`/work/fw-stm32` firmware runs on QEMU's `netduinoplus2` machine. The UART prints garbage after the scheduler starts. Start QEMU with `-s -S`, attach `gdb-multiarch`, step through clock and UART init, find the misconfigured register value, record register and value in `ROOT.txt`, and fix the firmware.
- 平台
lin· Linux- 应用
- QEMU · gdb-multiarch · arm-none-eabi-gcc
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 5 / 5
建议验证方式
ROOT.txt names the seeded register (USART BRR) and wrong value; rebuilt firmware prints the expected banner and 100 task messages on QEMU serial; no change to the linker script.
建议部分得分
40% register identified; 50% correct UART output; 10% minimal change
R02.03.01.01-T19 Prove a root cause with a breakpoint hit log before fixing
原始指令
`/work/cartcalc` (TypeScript) computes wrong shipping for multi-warehouse carts. Using the VS Code debugger, set a logpoint that prints the warehouse split at the decision point for `fixtures/cart_17.json`, save the debug console output to `debug.log`, identify the faulty branch, and fix it.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- VS Code · Node
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击type· 文字与表单code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
debug.log contains logpoint output with the split for cart_17 matching the runtime values (values only available at runtime, e.g., computed hash ids); hidden tests pass; fix in seeded function.
建议部分得分
30% logpoint evidence; 50% hidden tests; 20% fix location
R02.03.01.01-T20 Fix an Excel VBA macro using the VBA editor's debugger
原始指令
`C:\work\Payroll.xlsm` macro `RunPayroll` gives wrong overtime for night shifts. In the VBA editor, use breakpoints, the Locals window and Watches to find the faulty time arithmetic, fix the macro, run it, and save the workbook so sheet `Output` matches `expected_output.csv`.
- 平台
win· Windows- 应用
- Excel · VBA editor
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
G2· GUI 必要- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击nav· 平移 / 缩放 / 滚动type· 文字与表单- 工作产物
WP06· 代码 / 工程- 条件
licensed· 授权专业软件- 提案难度
- 3 / 5
建议验证方式
Output sheet equals expected_output.csv for 120 employees; VBA module diff limited to the seeded procedure (olevba extract); macro still runs on a hidden second month input producing correct values. Trust access to the VBA project object model is disabled by policy and Sysmon detects Python/PowerShell processes opening Payroll.xlsm, so the macro must be fixed in the VBA editor.
建议部分得分
30% fault located (diff location); 50% output correct; 20% generalizes to hidden month
已有研究映射
以下沿用研究目录中的基准与小类映射,不是逐题标注、执行记录或产品背书。