May 24, 2016 Re: mago-mi: GDB/MI compatible frontend for Mago debugger | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vadim Lopatin |
On 17.05.2016 10:06, Vadim Lopatin wrote:
> Hello,
>
> I'm working on GDB/MI compatible interface for Mago debugger on Windows.
>
> GDB/MI is line based machine interface for debugger. IDEs are using GDB
> via this interface.
>
> GDB/MI docs: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html
>
> Project page (mago fork) https://github.com/buggins/mago
>
> Currently mago-mi supports subset of GDB commands enough for current
> DlangIDE functionality.
>
> Tested on DMD generated 32bit executables.
>
> See readme details list of implemented commands:
> https://github.com/buggins/mago/tree/master/MagoMI/mago-mi
>
> Difference from baseline https://github.com/rainers/mago files are minimal:
> - Static linking for MagoNatDE and MagoNatEE
> - Disabled some Mago debug logging
>
> Building mago-mi from source is easy. I've tried MS Visual Studio 2013
> and 2015. Don't forget to edit properties in mago/PropSheets. Buld
> mago-mi project.
>
> Since DlangIDE v0.6.1, it includes prebuilt mago-mi.exe (it will be
> copied into bin directory by dub build) and default Debugger settings
> are changed from gdb to mago-mi by default on Windows. If you already
> used DlangIDE on your computer, check Edit/Preferences/Debugger setting
> - change to "mago-mi" if "gdb" is specified.
>
> If you want to try mago-mi and DlangIDE which is using it, you can
> download binaries from
> https://sourceforge.net/projects/crengine/files/DlangUI/dlangide-v061-magomi-v010-x86.zip/download
> (or just sync to latest dlangide and use `dub run`). Bundle includes
> DlangIDE, mago-mi, dub, and sample workspaces (helloworld and tetris).
> Download size is 5.4Mb (seems small enough for IDE+debugger).
>
> I hope my work will be useful for other IDE developers who is targeting
> on Windows.
> (Any IDE which uses gdb/mi interface)
> I tried gdb and lldb-mi before, but did not managed to find working
> compiler + debugger configuration. (Best combination was gdb + gdc, but
> it was showing global variables instead of locals. For lldb-mi, I
> haven't managed to find compiler which produces compatible debug info).
>
> Best regards,
> Vadim
Impressive work!
I'm currently working on improving integration in VS. For this, I also needed a static library version of MagoNatDE. I just pushed my changes, I hope it doesn't break anything for you.
If you want to stay in sync, please consider a PR with your changes to mago.
|
May 24, 2016 Re: mago-mi: GDB/MI compatible frontend for Mago debugger | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rainer Schuetze | On Tuesday, 24 May 2016 at 06:34:04 UTC, Rainer Schuetze wrote: > > > On 17.05.2016 10:06, Vadim Lopatin wrote: >> Hello, >> >> I'm working on GDB/MI compatible interface for Mago debugger on Windows. > Impressive work! > > I'm currently working on improving integration in VS. For this, I also needed a static library version of MagoNatDE. I just pushed my changes, I hope it doesn't break anything for you. > > If you want to stay in sync, please consider a PR with your changes to mago. Actually, I would prefer to use static versions of all Mago libraries. I really like that statically linked mago-mi.exe is only 1.5Mb in Release build. If it become possible to link MagoNatDE/MagoNatEE statically, I would merge my changes to upstream. |
May 24, 2016 Re: mago-mi: GDB/MI compatible frontend for Mago debugger | ||||
---|---|---|---|---|
| ||||
Posted in reply to Vadim Lopatin |
On 24.05.2016 08:47, Vadim Lopatin wrote:
> On Tuesday, 24 May 2016 at 06:34:04 UTC, Rainer Schuetze wrote:
>>
>> If you want to stay in sync, please consider a PR with your changes to
>> mago.
>
> Actually, I would prefer to use static versions of all Mago libraries.
> I really like that statically linked mago-mi.exe is only 1.5Mb in
> Release build.
> If it become possible to link MagoNatDE/MagoNatEE statically, I would
> merge my changes to upstream.
>
MagoNatEE has been a static lib so far, but it could be eliminated long term, as it just a very thin layer to convert std::wstring to BSTR for some function arguments.
MagoNatDE now has configurations "Debug/Release StaticDE" which are also solution configurations. Anything else falls back to Debug/Release, but can link the static library within these solution configurations. See the MagoNatCC project.
|
May 24, 2016 Re: mago-mi: GDB/MI compatible frontend for Mago debugger | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rainer Schuetze | On Tuesday, 24 May 2016 at 06:56:26 UTC, Rainer Schuetze wrote:
>
>
> On 24.05.2016 08:47, Vadim Lopatin wrote:
>> On Tuesday, 24 May 2016 at 06:34:04 UTC, Rainer Schuetze wrote:
>>>
>>> If you want to stay in sync, please consider a PR with your changes to
>>> mago.
>>
>> Actually, I would prefer to use static versions of all Mago libraries.
>> I really like that statically linked mago-mi.exe is only 1.5Mb in
>> Release build.
>> If it become possible to link MagoNatDE/MagoNatEE statically, I would
>> merge my changes to upstream.
>>
>
> MagoNatEE has been a static lib so far, but it could be eliminated long term, as it just a very thin layer to convert std::wstring to BSTR for some function arguments.
>
> MagoNatDE now has configurations "Debug/Release StaticDE" which are also solution configurations. Anything else falls back to Debug/Release, but can link the static library within these solution configurations. See the MagoNatCC project.
Merged upstream.
Sent pull request.
|
June 01, 2016 Re: mago-mi: GDB/MI compatible frontend for Mago debugger | ||||
---|---|---|---|---|
| ||||
Posted in reply to Rainer Schuetze | On 24/05/2016 07:34, Rainer Schuetze wrote: > > > On 17.05.2016 10:06, Vadim Lopatin wrote: >> Hello, >> >> I'm working on GDB/MI compatible interface for Mago debugger on Windows. >> >> GDB/MI is line based machine interface for debugger. IDEs are using GDB >> via this interface. >> >> GDB/MI docs: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html >> >> Project page (mago fork) https://github.com/buggins/mago >> >> Currently mago-mi supports subset of GDB commands enough for current >> DlangIDE functionality. >> >> Tested on DMD generated 32bit executables. >> >> See readme details list of implemented commands: >> https://github.com/buggins/mago/tree/master/MagoMI/mago-mi >> >> Difference from baseline https://github.com/rainers/mago files are >> minimal: >> - Static linking for MagoNatDE and MagoNatEE >> - Disabled some Mago debug logging >> >> Building mago-mi from source is easy. I've tried MS Visual Studio 2013 >> and 2015. Don't forget to edit properties in mago/PropSheets. Buld >> mago-mi project. >> >> Since DlangIDE v0.6.1, it includes prebuilt mago-mi.exe (it will be >> copied into bin directory by dub build) and default Debugger settings >> are changed from gdb to mago-mi by default on Windows. If you already >> used DlangIDE on your computer, check Edit/Preferences/Debugger setting >> - change to "mago-mi" if "gdb" is specified. >> >> If you want to try mago-mi and DlangIDE which is using it, you can >> download binaries from >> https://sourceforge.net/projects/crengine/files/DlangUI/dlangide-v061-magomi-v010-x86.zip/download >> >> (or just sync to latest dlangide and use `dub run`). Bundle includes >> DlangIDE, mago-mi, dub, and sample workspaces (helloworld and tetris). >> Download size is 5.4Mb (seems small enough for IDE+debugger). >> >> I hope my work will be useful for other IDE developers who is targeting >> on Windows. >> (Any IDE which uses gdb/mi interface) >> I tried gdb and lldb-mi before, but did not managed to find working >> compiler + debugger configuration. (Best combination was gdb + gdc, but >> it was showing global variables instead of locals. For lldb-mi, I >> haven't managed to find compiler which produces compatible debug info). >> >> Best regards, >> Vadim > > > Impressive work! > > I'm currently working on improving integration in VS. For this, I also > needed a static library version of MagoNatDE. I just pushed my changes, > I hope it doesn't break anything for you. > > If you want to stay in sync, please consider a PR with your changes to > mago. > Can Mago debug programs with debug information in the COFF format? If not, any chance this could be added, or is it a big task? -- Bruno Medeiros https://twitter.com/brunodomedeiros |
June 01, 2016 Re: mago-mi: GDB/MI compatible frontend for Mago debugger | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bruno Medeiros | On Wednesday, 1 June 2016 at 15:20:15 UTC, Bruno Medeiros wrote:
>>
>> Impressive work!
>>
>> I'm currently working on improving integration in VS. For this, I also
>> needed a static library version of MagoNatDE. I just pushed my changes,
>> I hope it doesn't break anything for you.
>>
>> If you want to stay in sync, please consider a PR with your changes to
>> mago.
>>
>
> Can Mago debug programs with debug information in the COFF format? If not, any chance this could be added, or is it a big task?
I didn't check but it should work.
|
Copyright © 1999-2021 by the D Language Foundation