Skip to content

Knows what your build compiles. Proves every change before you see it.

ByteAsk is an AI coding agent for C and C++ that runs your compiler, sanitizers, gdb and tests on its own changes.

The deadlock is found and fixed.

ByteAsk builds the context. The model gets the answer.

It replays your build and maps every function, template and call. The model gets only the few functions that matter.

Bug #1982 in nlohmann/json, a popular C++ library. Each dot is a function, each line a call. The ringed dot is where ByteAsk points first.

source files compiled
43
files in the project
77
lines of code
57,234
functions
907
classes
184
template versions
20,463
function calls
1,762
to build the index
2 min 16 s
Right function ranked first, same model, issue text only
BugsModel aloneWith ByteAsk
80 bugs fixed 18 Aug to 22 Oct 2026 across 21 C/C++ projects50.9%66.7%
129 Multi-SWE-bench C++ bugs36%54%

It joins the gdb session you already have open.

Linux allows one debugger per process. ByteAsk uses a bridge you start in yours.

~/orderd ❯ claude "my gdb is stopped on the deadlock in orderd, take a look"
Your gdb is holding the process.
$ gdb -p <pid> -batch -ex bt
warning: process <pid> is already traced by process <your-gdb>
ptrace: Operation not permitted.

One tracer per process. The kernel refuses
a second debugger while yours is attached.
~/orderd ❯ byteask "my gdb is stopped on the deadlock in orderd, take a look"
Joined through the bridge you started.
(gdb) bt
#3  OrderBook::cancel (...) at order_book.cpp:214
(gdb) p risk_mtx_._M_mutex.__data.__owner
$1 = 71154  (held by the risk thread)
Your breakpoints are still set for the next turn.

+ std::scoped_lock lk(book_mtx_, risk_mtx_);
✓ Proposed, waiting for your approval.
your network
your machine
gdbyour open session
byteaskthe CLI
Toolsbuild, sanitizers, tests
ByteAsk gatewaycompany keys, allowlists
self-hosted modelsvLLM, Ollama, llama.cpp

The sanitizer names the line.

~/demo/outputs ❯ g++ -O1 -g -fsanitize=address -fno-omit-frame-pointer order_book.cpp && ./order_book_asan
==2967905==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60c0000000c8
WRITE of size 4 at 0x60c0000000c8 thread T0
    #0 0x55d75c82e5a6 in OrderBook::cancel_all() demo/outputs/order_book.cpp:31
    #1 0x55d75c82e5a6 in main demo/outputs/order_book.cpp:42
    #2 0x7feead645249 in __libc_start_call_main libc_start_call_main.h:58
0x60c0000000c8 is located 8 bytes to the right of 128-byte region
allocated by thread T0 here:
    #0 0x7feeadcb94c8 in operator new(unsigned long)
SUMMARY: AddressSanitizer: heap-buffer-overflow demo/outputs/order_book.cpp:31
~/demo/outputs ❯ cmake -B build && cmake --build build && ctest --test-dir build
Test project demo/outputs/build
1/3 Test #1: book_ops .........................   Passed    0.00 sec
2/3 Test #2: risk_engine ......................   Passed    0.00 sec
3/3 Test #3: wire_codec .......................   Passed    0.00 sec

100% tests passed, 0 tests failed out of 3

Total Test time (real) =   0.01 sec

The tools you already run

byteaskthe CLI
  • It builds your tree before it edits it

    • clangd
    • CMake
    • Compiler Explorer
    • C++ Insights
  • ASan, gdb and rr, on your process

    • ASan
    • gdb
    • lldb
    • Valgrind
    • rr
  • Your .clang-tidy, not ours

    • clang-tidy
    • clang-format
    • cppcheck
  • perf, before you see a diff

    • perf
    • Callgrind
    • QuickBench
  • objdump, when there is no source

    • objdump
    • nm
    • readelf

Your key, or your own server

  • Managed

    Sign in and use OpenAI, Anthropic and Google models through ByteAsk. No API key to paste.

    $ byteask login
  • Your key

    Use your own OpenAI, Anthropic or Gemini key. Traffic goes straight to the provider, not through ByteAsk.

    $ byteask byok set
  • Your server

    Point ByteAsk at vLLM, Ollama, llama.cpp, LM Studio, TGI, SGLang or a LiteLLM proxy. Self-hosted models are not metered.

    $ byteask models add my-model --url http://your-host:8000

Standards it can cite

ToolCorpus
autosar_refAUTOSAR C++14 · MISRA · ISO C++
mcu_refSTM32 · Cortex-M · Modbus · CAN
fpga_refXilinx UltraScale · AMBA AXI
hft_refITCH/OUCH · FIX · IEEE 1588 PTP
grid_refIEEE 1547 · 2030.5 · SunSpec
scpi_refSCPI · instrument manuals
x86_refx86-64 Software Developer Manual

Try it on your build.