![]() |
XE2 Update3 Debugger Problem
Moin.
Hab mit das Update3 installiert. Jetzt springt der 64bit-Debugger nicht mehr zu Sourcezeilen mit Laufzeitfehlern. Bei 32bit ist es auch nicht die richtige Zeile sondern irgendwo danach(bei FMX, mit VCL geht auch das nicht). Ist das ein Fehler oder ne verbogene Einstellung? |
AW: XE2 Update3 Debugger Problem
Hast du schon mal einen kompletten rebuild deines Projektes durchgeführt?
|
AW: XE2 Update3 Debugger Problem
Ja. Das passiert auch in einem neuen Projekt. Nur ein Button mit i:= StrToInt('aaa');
|
AW: XE2 Update3 Debugger Problem
Probier mal Andis IDE-Fix-Pack. Gehts dann?
|
AW: XE2 Update3 Debugger Problem
IDE-Fix-Pack hilft auch nicht.
Hast du das Problem nicht? |
AW: XE2 Update3 Debugger Problem
Mit deinem Beispiel klappt das wunderbar mit dem Debugger.
Hast Du evtl die Exceptions ignoriert unter Tools, Debugger Optionen? |
AW: XE2 Update3 Debugger Problem
Zitat:
Hab noch mal alles runtergeschmissen, bis Update2 funktioniert der Kram. Mit Update3 gehts nicht. :x |
AW: XE2 Update3 Debugger Problem
So, ich habe XE2 Udpate3 noch mal auf einem neuen Windows installiert(XP und Win7 probiert, Ergebnis identisch).
Dann neues FMX-HD-Anwendung(32bit), Form mit Button:
Delphi-Quellcode:
Debugger springt nicht zum Fehler sondern zur letzten Zeile in der Projektdatei, also zum end. nach Application.Run.
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; begin i:= StrToInt('xxx'); if i > 0 then Caption:= 'blah'; end; Wieso funktioniert das bei dir? |
AW: XE2 Update3 Debugger Problem
Achso, eine FMX Anwendung. Habs gerade ausprobiert und bei mir ist es auch so, das er in Application.Run springt.
//Edit: Nur bei StrToInt klappst nicht, wenn ich nun z.B.:
Delphi-Quellcode:
hält der Debugger auch an der Funktion an
procedure TForm15.Button1Click(Sender: TObject);
begin SetName(PString(nil)^); end; |
AW: XE2 Update3 Debugger Problem
Bei Update2 hält er aber beim Fehler an, also eine Zeile nach StrToInt.
Das ist ja nur mein Test. Gemerkt hab ich das in einem Projekt wo die Bereichsprüfung zugeschlagen hat(FMX, 64bit). Da landet man nirgends im Gegensatz zu Update2. Bei 32bit kommts irgenwie auf den Fehler an. Also so was(64bit):
Delphi-Quellcode:
procedure TForm15.Button1Click(Sender: TObject);
var i: integer; arr: array[0..3] of integer; begin i:= 8; arr[i]:= 0; end; |
AW: XE2 Update3 Debugger Problem
Du solltest in den Projektoptionen die Option "Mit Debug-DCUs" aktivieren (Delphi-Compiler | Compilieren -> Debuggen). Nur wenn diese Option aktiviert ist, dann erhält man einen vernüftigen Callstack, der Debugger springt zur Stelle wo der Fehler auftritt und über den Callstack findest Du den Fehler in Deinem Code. Damit funktioniert "Anhalten" beim genannten FMX StrToInt Fall. In einer Delphi 7 VCL Anwendung mit diesem Code ist das gleiche Verhalten zu beobachten wie in der Win32 FMX Variante.
|
AW: XE2 Update3 Debugger Problem
Debug-DCUs ja, für Dinge die man schwer lokalisieren kann. Aber beim alltäglichen Debugger ist das eher hinderlich, wenn man immer in _UStr* Funktionen kommt etc..
|
AW: XE2 Update3 Debugger Problem
Debug-DCUs helfen auch nichts, damit lande ich im RTL error handler im SysUtils(array Fall), bei StrToInt im Nirgendwo.
Bei Update2 funktionierte der Kram ja noch. Einen vern. Call Stack habe ich auch so, als einzige Möglichkeit überhaupt in die Nähe des Fehlers zu kommen. Der unterscheidet sich auch nicht zu Update2. Ich halt's für'n Bug und hab das bei QC eingetragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz