Bummer, a big showstopper with Berlin 10.1.2: an object with an indexed property getter crashes the debugger! Please Marco Cantù we need a fix for this!

Bummer, a big showstopper with Berlin 10.1.2: an object with an indexed property getter crashes the debugger! Please Marco Cantù we need a fix for this!

For example the code below and add "t.test.typedstring" to the watchlist gives "Function to be called, TBaseDataRecord.GetStringField, was eliminated by linker" and after continueing:
---------------------------
Error
---------------------------
Assertion failure: "!e32->evalArgs.evalFCallPending"
in ..\win32src\proc32.cpp at line 1830
---------------------------
OK Details >>
---------------------------

...

TTestDataRecord = class(TBaseDataRecord)
public
property Test: TTypedStringField index 0 read GetStringField;
end;

...

var
t: TTestDataRecord;
s: string;
begin
t := TTestDataRecord.Create;
s := t.Test.TypedString;

https://quality.embarcadero.com/browse/RSP-16522
https://quality.embarcadero.com/browse/RSP-16522

Comments

  1. BTW do you enable assertion in a released product ? I though they were for debug environment only...

    ReplyDelete
  2. Paul TOTH Assertions can be used anywhere. Lots of people have them turned off in RELEASE builds, but many have enabled them as well as they help pinpoint issues.

    ReplyDelete
  3. Stefan Glienke but you can't see the value, right? (eliminated by linker)

    ReplyDelete
  4. André Mussche I get the wrong eliminated by linker text instead of the value but I don't get a debugger crash.

    ReplyDelete
  5. Hi André!

    I have a same problem.
    Did you resolves this? I have to restart every time when this occure.

    Thx!

    Andras

    ReplyDelete
  6. Yes it was fixed in a newer version if I remember it correct so use the latest version (10.2.3)

    ReplyDelete

Post a Comment