# New KDB+/Q debugger

**URL:** <https://forum.kx.com/t/new-kdb-q-debugger/10935>\
**Category:** Community Support\
**Tags:** kdb-and-q\
**Created:** [April 4, 2016, 9:37am UTC](https://forum.kx.com/t/new-kdb-q-debugger/10935 "2016-04-04T09:37:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![quintanar4011](https://avatars.discourse-cdn.com/v4/letter/q/6f9a4e/32.png) [@quintanar4011](https://forum.kx.com/u/quintanar4011)\
**Post date:** [April 4, 2016, 9:37am UTC](https://forum.kx.com/t/new-kdb-q-debugger/10935/1 "2016-04-04T09:37:00Z")

</div>

New Q debugger is available here [https://github.com/quintanar401/dbg](https://github.com/quintanar401/dbg)

Unlike other debug helper functions it gives you full control over the function/program and acts more like the ordinary Java/C debugger - you can execute functions line by line, step by step and etc, add breakpoints, inspect stack and all local variables in it.

It becomes useful when the call tree is complicated and it is not possible to understand the reason of failure just from one function where an exception occurred (or when this function is some q/Q function), also it works perfectly remotely when the built-in debugger provides no info at all.

I hope you find it useful!

WBR, Andrey.

---

<div class="post-metadata">

**Author:** ![michael\_guyver1](https://avatars.discourse-cdn.com/v4/letter/m/8edcca/32.png) [@michael\_guyver1](https://forum.kx.com/u/michael_guyver1)\
**Post date:** [April 6, 2016, 4:14pm UTC](https://forum.kx.com/t/new-kdb-q-debugger/10935/2 "2016-04-06T16:14:00Z")

</div>

Hi Andrew,&nbsp;

Is this substantially different from the (your?) debugger hosted on [code.kx.com](http://code.kx.com)?

Thanks

Michael

---

<div class="post-metadata">

**Author:** ![quintanar4011](https://avatars.discourse-cdn.com/v4/letter/q/6f9a4e/32.png) [@quintanar4011](https://forum.kx.com/u/quintanar4011)\
**Post date:** [April 6, 2016, 4:49pm UTC](https://forum.kx.com/t/new-kdb-q-debugger/10935/3 "2016-04-06T16:49:00Z")

</div>

Hi Michael,

From the user point of view the differences are:

1. It shows&nbsp;its progress using the original function (the previous dbg reconstructs functions from code).

2. There is a new execution function - nexp - next expression, and it is possible to set breakpoints to expressions.

3. There are functions to view variables and func bodies on the stack (this was hard in the prev version).

4. It can enter the general amend (@[list;idx;{user fn}] and similar exps).

WBR, Andrey.

???, 6 ??? 2016 ?., 18:15:31 UTC+3 ??? Michael Guyver ???:

> Hi Andrew,&nbsp;
> 
> Is this substantially different from the (your?) debugger hosted on code.kx.com?
> 
> Thanks
> 
> Michael
