www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.debugger - IntelliJ and MagoMI questions

Hi,

IntelliJ supports as debugger GDB. Mago, the Visual Studio 
debugger plugin for D, comes also with an application MagoMI 
which is a GDB frontend for Mago.
I currently try to get MagoMI running with IntelliJ and face 
several issues. For these issues I would like to clarify whether 
there are bugs within MagoMI or bugs within IntelliJ Dlang plugin.

1) IntelliJ calls MagoMi with these commands

C:\D\tools\mago-mi.exe --interpreter=mi2
-break-insert -f C:/D/projects/magotest/source/app.d:6
file C:/D/projects/magotest/magotest.exe
run

First issue is, MagoMi does not know the "file" command but a 
command "-file-exec-and-symbols". Are these two commands 
comparable? Which command is correct?

2) Order of calling -break-insert

The breakpoint is only hit if the executable is specified before 
"-break-insert" is executed. Either by specifying the executable 
in the first line
"C:\D\tools\mago-mi.exe --interpreter=mi2 
C:/D/projects/magotest/magotest.exe"
or by calling command "-file-exec-and-symbols" before calling 
"-break-insert".
Is this a bug with MagoMI and the order should play no role or is 
this order important.

3) Level is missing in frame line while breakpoint is hit

When a breakpoint is hit, MagoMI sends this frame line:
{addr="0x00402279",func="D 
main+0x1d",args=[],file="C:\D\projects\magotest\source\app.d",fullname="C:\D\projects\magotest\source\app.d",line="6",from="C:\D\projects\magotest\magotest.exe"}

IntelliJ throws an error because it expects an attribute "level" 
in this line. MagoMI has this attribute but does not add it in 
this specific case (Breakpoint hit). In other cases it adds the 
level to the frame line:

https://github.com/rainers/mago/search?q=dumpMIFrame&unscoped_q=dumpMIFrame

Is MagoMI right and the level should not be added in this case or 
is IntelliJ correct and the frame line must be available?

Kind regards
André
Jun 12 2018