visual D BP's not being hit

Amex Amex at gmail.com
Sun Jun 2 07:55:12 UTC 2019


I'm trying to put a break point in the code.

		if (index < 0 || index >= S.length)
		{
			return;
			return;
			return;
			return;
		}

I've added BP's to every return and even added some code such as 
asm {int 3; }

The BP's show up when not debugging but when I enter debug they 
all get moved to below the last }(I guess the first line of code 
after }) and break on that piece and not in the check.

I've notice similar issue before like this where BP's act funky. 
I can't simplify the code because it mostly doesn't behave this 
way and is quite random(and the code is very complex.

It seems there is some issue with the source code mapping.

Even if I just do

		if (index < 0 || index >= S.length)
			return;

and put a BP on the return then my code breaks at the line below 
it.

Maybe what you could to is take some fairly complex code(at least 
a 1000's lines and put BP's everywhere and try to find ones that 
are not working correctly.

This may be an issue only with the Visual Studio mixed mode 
debugger as I just switched to it from mago and I don't remember 
having many problems like this with mago. I just switched and 
same problem though.

In VS it reports the right line number when the BP is highlighted 
but in code it is not(67 but then becomes 69).


Using pretty much latest of everything and in VS2019.





More information about the Digitalmars-d-ide mailing list