Re: Mono-D v0.5.5.5 - Huge completion refactoring/v0.5.5.6 - Bug fixes

2014-01-10 Thread Jameson Ernst

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

2014-01-09 Thread Jameson Ernst
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

2014-01-09 Thread Jameson Ernst

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

2014-01-09 Thread Jameson Ernst
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

2014-01-09 Thread Jameson Ernst
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

2014-01-09 Thread Jameson Ernst

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

2014-01-09 Thread Jameson Ernst

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.