All Projects → codecat → asdbg

codecat / asdbg

Licence: other
A remote debugger for AngelScript.

Programming Languages

C++
36643 projects - #6 most used programming language
C#
18002 projects

Projects that are alternatives of or similar to asdbg

MTATD
MTA:SA debugger and unit testing framework
Stars: ✭ 18 (-43.75%)
Mutual labels:  debugger
dap42-hardware
STM32F042Fx based DAP interface hardware
Stars: ✭ 17 (-46.87%)
Mutual labels:  debugger
PBD
🖨️🐞 Printf Based Debugger, a user-friendly C debugger
Stars: ✭ 52 (+62.5%)
Mutual labels:  debugger
Unity-Visual-Behavior-Tree
Reactive Visual Scripting Behavior Tree Tool for Unity 2018.x+
Stars: ✭ 36 (+12.5%)
Mutual labels:  debugger
dbgee
The zero-configuration debuggee for debuggers. Handy utility that allows you to launch CLI debuggers and VSCode debuggers from the debuggee side.
Stars: ✭ 67 (+109.38%)
Mutual labels:  debugger
kakoune-gdb
gdb integration plugin
Stars: ✭ 44 (+37.5%)
Mutual labels:  debugger
ftrace
Simple Function calls tracer
Stars: ✭ 65 (+103.13%)
Mutual labels:  debugger
lldbg
A lightweight native GUI for LLDB.
Stars: ✭ 83 (+159.38%)
Mutual labels:  debugger
goide
Docker run to a sane vim-go setup
Stars: ✭ 19 (-40.62%)
Mutual labels:  debugger
OpenOCD
STMicroelectronics customized version of OpenOCD supporting STM32 MCUs and MPUs
Stars: ✭ 34 (+6.25%)
Mutual labels:  debugger
nv2a-trace
A tracing software like apitrace for the original Xbox GPU
Stars: ✭ 20 (-37.5%)
Mutual labels:  debugger
ArmaDebugEngine
A still experimental Script Debugger for Arma 3
Stars: ✭ 38 (+18.75%)
Mutual labels:  debugger
vim-dap
Vim/Neovim debugger plugin providing a terminal interface to the Debug Adapter Protocol
Stars: ✭ 43 (+34.38%)
Mutual labels:  debugger
debug
Debugging functionality for Ruby
Stars: ✭ 706 (+2106.25%)
Mutual labels:  debugger
ssh2actions
Connect to GitHub Actions VM via SSH for interactive debugging
Stars: ✭ 62 (+93.75%)
Mutual labels:  debugger
vim-node-inspect
Interactive node debugger for (n)vim
Stars: ✭ 96 (+200%)
Mutual labels:  debugger
golang-debugger-book
From a debugger's view, Let's explore the computer world! How does compiler, linker and debugger coordinate with each other around the program written in specific programming language? How does a debugger work? If we develop a debugger for go programming language, we must master go type system, runtime... and some Operating System internals. OK,…
Stars: ✭ 49 (+53.13%)
Mutual labels:  debugger
SmartDump
SmartDump - an exception and memory dump capture utility
Stars: ✭ 17 (-46.87%)
Mutual labels:  debugger
haskell-code-spot
Visual tool to spot odd runtime behaviour of Haskell programs.
Stars: ✭ 106 (+231.25%)
Mutual labels:  debugger
gdb-dashboard
Modular visual interface for GDB in Python
Stars: ✭ 8,699 (+27084.38%)
Mutual labels:  debugger

asdbg

A remote debugger for AngelScript. Currently in very early stages of development.

Implementation

To implement the debugger into the host application, include asdbg.h. Also, in 1 .cpp file, include it while ASDBG_IMPL is defined.

#define ASDBG_IMPL
#include "asdbg.h"

Then, before the first execution of a script context, initialize the debugger:

asIScriptContext* ctx = engine->CreateContext();
dbg::Initialize(ctx);

Next, define any encoders you may need for variable inspection. An encoder takes a pointer and returns a string representation. Optionally, a decoder takes a pointer and a string representation, and you have to decode the string representation into the pointer. For example, a std::string encoder (for the default ScriptString addon) looks like this:

dbg::Encoder(engine->GetTypeIdByDecl("string"), [](void* ptr) {
  return *(std::string*)ptr;
}, [](void* ptr, const char* set) {
  *(std::string*)ptr = set;
});

When your program is shutting down, call dbg::Release() before the context is released.

dbg::Release();
ctx->Release();
engine->Release();

Goals

  • Single-header implementation in host application
  • Stepping through code with a visual code view
    • Step into
    • Step over
    • Step out
  • Breakpoints
  • View local variables
    • Built-in types
    • Custom types
    • Arrays
    • Dictionaries
  • View stack trace
  • Inspect each frame individually

License

MIT license:

Copyright (c) github.com/codecat 2017 - 2018

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].