You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using Delphi 10.2 Version 25.0.27659.1188, 32 bits debug configuration, there are very annoying exceptions triggered in DecodeBranch_Ev on the line "AM_32: P := PByte(PUInt32(P)^);".
They are ignored by a try/except but this make DebugEngine almost unusable in a real project while debugging. The exception pops up while working as soon as a stack trace is build.
Instead of capturing the exception with try/except, it should be avoided.
By the way, the exceptions I saw where triggered because the address (Variable P in the code) fall in the first KB of memory which is a protected area. A simple test would avoid the exception.
The text was updated successfully, but these errors were encountered:
Yes you're totally right. Calculating branch address should not be a part of the disassembler. I should move that routine to DebugEngine in that way I can verify address before accessing it.
In my opinion, given the fact that you generously make your code available on GitHub, you should fix this kind of problem and the other I reported yesterday (Integer overflow) if you want to have your code used by other developers and enter the hall of Delphi fames :-)
When using Delphi 10.2 Version 25.0.27659.1188, 32 bits debug configuration, there are very annoying exceptions triggered in DecodeBranch_Ev on the line "AM_32: P := PByte(PUInt32(P)^);".
They are ignored by a try/except but this make DebugEngine almost unusable in a real project while debugging. The exception pops up while working as soon as a stack trace is build.
Instead of capturing the exception with try/except, it should be avoided.
By the way, the exceptions I saw where triggered because the address (Variable P in the code) fall in the first KB of memory which is a protected area. A simple test would avoid the exception.
The text was updated successfully, but these errors were encountered: