Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes
On Friday, 10 January 2014 at 18:17:17 UTC, Alexander Bothe wrote: On Friday, 10 January 2014 at 18:14:04 UTC, Daniel Kozák wrote: Now it works :), thanks a lot Finally! :) Confirmed working for me as well! Thanks for working with us to iron this out. I think this will help a lot of people new to D to have a smooth first impression.
Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes
On Wednesday, 8 January 2014 at 14:30:50 UTC, Alexander Bothe wrote: On Wednesday, 8 January 2014 at 12:35:47 UTC, Daniel Kozak wrote: I do not think so because it runs gdb, and it stops on break point, but it does not show it properly on monodevelop editor (red marker is not mark as current stopping point (arrow is not here)) and I can not do things like next step and so on (just pause and stop button are active). Perhaps it's some gdb user interface which is missing: mi2 is used there for a better machine2machine interfacing between mono-d and gdb. Maybe, but I dont know how to test this Just try to use -i:mi2 as an argument for gdb - then it'll use the mi2 interface Is there a way to configure the plugin to add that option? It doesn't appear to be configurable, at least not from within the IDE. I've had this same issue, and found that the D debugging plugin doesn't work when using monodevelop later than 4.2.2. I haven't bisected the exact commit where it stops working, but it's definitely somewhere between 4.2.2 and 4.2.3. Since I build from source anyway (the Arch package for monodevelop is out of date) it wasn't a big deal to just roll back to 4.2.2 for now. Other than that though, mono-d is fantastic, and probably the single reason I'm giving D another try after a few years. The auto-completion is REALLY good now, and the semantic highlighting is great. It's hard to give that stuff up coming from C#, but now I don't have to!
Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes
On Thursday, 9 January 2014 at 19:20:35 UTC, Daniel Kozak wrote: So I really do not know, what is wrong with my monodevelop. Anyway with patched gdb (https://github.com/ibuclaw/gdb) and normal GDB plugin I can debbug my application quiet well. Just set this up, and the regular GDB plugin with patched GDB is working for me as well on monodevelop HEAD. Hopefully the D patches for GDB get mainlined, then it might not even be necessary to have a special D debugger plugin anymore.
Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes
On Thursday, 9 January 2014 at 23:15:12 UTC, Alexander Bothe wrote: On Thursday, 9 January 2014 at 22:50:09 UTC, Daniel Kozak wrote: On Thursday, 9 January 2014 at 21:47:40 UTC, Alexander Bothe wrote: So btw, could you please define 'does not work'? Is there an exception, is there just a silent quit, is there a mysterious return value -1 when executing the program with the debugger? http://youtu.be/HRJgyFi6Zes Have you tried other code samples? Have you tried stepping through code? Have you tried examing locals via the 'Locals' pad? Just try to put in a thing like throw new Exception(); to see whether it's about breakpoints. Or try to hack in a breakpoint via asm { int 0xcc; } (dunno the x64 equivalent though :-/) or asm { int3; } Ok, I tried cloning the repo for the debugger plugin and building it from source, and it DOES work now. Strange. Something about the one in the addin repository must be subtly different. The video Daniel posted is exactly what happens when using the one from the addin repo. Program execution WILL stop on a breakpoint, but the IDE remains unaware of that fact and acts as if the program is still executing. Throwing an exception manually DOES cause it to stop though, at which point I can examine locals as normal. So the problem seems to relate specifically to breakpoints. At any rate, building the plugin from source seems to be the ticket. If you want me to test out anything else, I'd be happy to, since I think it's important this should work out of box for as many people as possible. It is worth noting that I had the same symptoms when using mono-d debugging on a Linux Mint 15 install, so it's nothing specific to Arch.
Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes
On a hunch that maybe it has to do with some strange assembly version or mono version mismatch, I used monodis/ilasm to roundtrip the assembly, reassembling it against the dependencies provided in the git repo. It still exhibits the same breakpoint issue, so something is the code itself must be different. On Friday, 10 January 2014 at 00:39:36 UTC, Alexander Bothe wrote: Anyway, you can set logGdb (https://github.com/llucenic/MonoDevelop.Debugger.Gdb.D/blob/master/Gdb/GdbSession.cs#L84) to be true to let it dump every interaction between Mono-D and gdb - might be good to know what's wrong with the breakpoints..I'd be happy if it was MonoDevelop-related, but well, gotta check it, too. Since recompiling from source fixes the problem, this is difficult to test. However, since I've successfully roundtripped the broken dll, I can try to find and set that value in the IL itself. My IL knowledge is a bit rusty, but I did a LOT of work with it years ago, so hopefully this won't be too hard.
Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes
On Friday, 10 January 2014 at 02:33:05 UTC, Jameson Ernst wrote: Since recompiling from source fixes the problem, this is difficult to test. However, since I've successfully roundtripped the broken dll, I can try to find and set that value in the IL itself. My IL knowledge is a bit rusty, but I did a LOT of work with it years ago, so hopefully this won't be too hard. Woops, I wrote that before reading the source file and didn't realize it was an env var. Doing more testing...
Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes
On Friday, 10 January 2014 at 03:29:06 UTC, Alexander Bothe wrote: On Friday, 10 January 2014 at 02:33:05 UTC, Jameson Ernst wrote: On a hunch that maybe it has to do with some strange assembly version or mono version mismatch, I used monodis/ilasm to roundtrip the assembly, reassembling it against the dependencies provided in the git repo. It still exhibits the same breakpoint issue, so something is the code itself must be different. I've managed to bypass the addin building system now in v0.2.4.6 - just try to install it and hopefully see the difference :D Still no luck; same behavior when installed via the addin repo. However, I have identified this exception in the logs, that I can confirm occurs only when using the dll from the addin repo, and NOT when using a working built-from-source dll, so the odds that it is related are very high: ERROR [2014-01-09 19:42:34Z]: Error while processing gdb output MonoDevelop.Debugger.Gdb.GdbException: -data-evaluate-expression: Usage: -data-evaluate-expression expression at MonoDevelop.Debugger.Gdb.GdbSession.RunCommand (System.String command, System.String[] args) [0x0] in filename unknown:0 at MonoDevelop.Debugger.Gdb.GdbSession.CheckBreakpoint (Int32 handle) [0x0] in filename unknown:0 at MonoDevelop.Debugger.Gdb.GdbSession.HandleEvent (MonoDevelop.Debugger.Gdb.GdbEvent ev) [0x0] in filename unknown:0 at MonoDevelop.Debugger.Gdb.GdbSession+ProcessOutputc__AnonStorey3.m__3 (System.Object ) [0x0] in filename unknown:0 It's not much to go on since there's no mdb with the distributed dll, but it's something.