Skip to content

Releases: linsmod/aidbg

aidbg v0.1.1

Choose a tag to compare

@linsmod linsmod released this 03 Aug 02:11

代码

  • 表达式:print 支持一元取址 &print &var
  • x 对齐 GDB:单位值输出;格式 d/u/o/t/c;默认 count=1/size=w;负 count 反向查看;$reg±offset 地址表达式;坏地址明确报错
  • 字符串:x/s 读完整 NUL 结尾字符串;新增 x/hs(UTF-16)、x/ws(UTF-32)
  • 地址解析:x/dump 将帧局部变量解析为地址(如 x/hs pch);set <local> 保持 lvalue(写栈槽)
  • 断点:commands/silent/end 命令列表,命中自动执行
  • 单步:源码级 step/next(进/过调用)
  • 局部变量/表达式/帧导航(handover7);PDB 符号回退与 print <global>(handover6)
  • WoW64:修复 info locals/info argsbtmodule! 帧前缀、GDB 分页
  • WoW64:异常处理、GDB 风格停止输出、JSON 信封、run-restart 死锁
  • WoW64:32 位软件断点与硬件断点支持
  • int3/DebugBreak():像 VS 一样续跑(消费真实 0xCC,RaiseException 保留给 SEH)
  • WoW64 崩溃:取真实 32 位上下文(rip/寄存器/bt 与 VS 一致)、过滤过渡代码伪帧、修复崩溃停住后内存读取死锁
  • 源码/PDB 校验:info source / source-checksum

测试

  • 新增用例 4.15–4.33(int3 续跑、源码校验、WoW64 断点/硬件断点、源码 step/next、上下文命令、断点管理、打印表达式、set 局部变量、帧导航、&/x 格式/字符串/命令列表、WoW64 崩溃回归);套件 40 项全绿

Code

  • Expressions: unary address-of & in print (print &var)
  • x aligned with GDB: unit-value output; d/u/o/t/c formats; default count=1/size=w; negative repeat count examines backward; $reg±offset address expressions; explicit "bad address" errors
  • Strings: x/s reads full NUL-terminated strings; new x/hs (UTF-16) and x/ws (UTF-32)
  • Addresses: x/dump resolve a frame local to its value as the address (e.g. x/hs pch); set <local> keeps lvalue (stack-slot) semantics
  • Breakpoints: commands/silent/end command lists, auto-executed on each hit
  • Stepping: source-level step/next (into/over calls)
  • Locals / expressions / frame navigation (handover7); PDB symbol fallback and print <global> (handover6)
  • WoW64: fixed info locals/info args, bt, module! frame prefix, GDB paging
  • WoW64: exception handling, GDB-style stop output, JSON envelope, run-restart deadlock
  • WoW64: 32-bit software and hardware breakpoint support
  • int3 / DebugBreak(): resume like VS (consume a real 0xCC; leave RaiseException to the SEH handler)
  • WoW64 crash: real 32-bit context for rip/registers/bt (matches VS), filter transition-code frames, fix post-crash memory-read deadlock
  • Source/PDB verification: info source / source-checksum

Tests

  • New cases 4.15–4.33 (int3 resume, source checksum, WoW64 software/hardware breakpoints, source step/next, bp-hit context commands, breakpoint management, print expressions, set locals, frame navigation, &/x formats/strings/command lists, WoW64 crash regression); suite 40/40 green

aidbg v0.1.0

Choose a tag to compare

@linsmod linsmod released this 01 Aug 14:46

aidbg v0.1.0 — AI 友好的 Windows 命令行调试器

基于 TitanEngine 的 GDB 风格 Windows 原生调试器,专为 AI 工具 / 自动化 / 脚本调试设计。

特性

  • GDB 命令集与语义对齐run / start / continue / stepi / nexti / finish / bt / break / hbreak / mbreak / watch / condition / ignore / registers / x / disas / attach / detach / thread / info ...
  • JSON Lines 机器接口(--json:所有输出单行 JSON,事件/结果/错误三型分明
  • 进程级一次性命令--command 单命令、--commands 批量脚本、stdin 管道
  • 三类断点 + API 断点:软件 / 硬件(DR0~DR3)/ 内存 / dll!api
  • 深度符号:dbghelp PDB 解析,info locals/argsStackWalk64 栈回溯
  • 异常拦截:除零 0xc0000094、访问违例 0xc0000005
  • 多线程 / 附加分离:线程切换、跨线程回溯、attach/detach

使用

解压后把 aidbg.exeTitanEngine.dll 放在同一目录:

aidbg.exe --json --command "run" target.exe
aidbg.exe --json --command "break kernel32!Sleep" target.exe
aidbg.exe --json --command "continue" target.exe
aidbg.exe --json --command "bt" target.exe

说明

  • 本包为 x64 版本;32 位(WOW64)目标暂未验证。
  • 调试引擎基于 x64dbg/TitanEngine(增强版 v2.0.3)。
  • 详细命令与设计见仓库 README.mdhandleover*.mdTestGuid.mdISSUES.md