View Issue Details

IDProjectCategoryView StatusLast Update
0022425LazarusDebuggerpublic2012-07-16 10:56
ReporterAlexander Strokach Assigned ToMartin Friebe  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
OSWin 
Product Version1.1 (SVN) 
Summary0022425: problems with debugger
Description1. Open Lazarus source code in Lazarus.
2. Set a breakpoint in the Main/TMainIDE.mnuEditUndoClicked/[DoSourceEditorCommand(ecUndo)] and Main/TMainIDE.DoSourceEditorCommand/[CurFocusControl: = Nil]
3. Menu/file/create form. Write any letter in the code editor, menu/edit/undo. We enter the debugger mode. Click F8 a few times in the DoSourceEditorCommand. In the block "if CheckFocus then begin ... end;" we get access violation or debugger-process dies.
TagsNo tags attached.
Fixed in Revision37950
LazTarget-
Widgetset
Attached Files

Activities

Martin Friebe

2012-07-14 10:24

manager   ~0061026

Last edited: 2012-07-14 10:31

I couldn't reproduce:

I assume, after setting the breakpoints, I should first hit F9 in order to start a 2nd IDE which run in the debugger?

In this 2nd IDE I then create a new form? Using a new project, or modifying the open project (lazarus.lpi, since I automatically get the last project re-opened)

----
Does it make a difference, if you wait (say 5 seconds) between each F8?

Can you check if you have any watches defined (even if you normally did not open the watch window)?

Can you get a stack trace? (You may need to build your IDE with debug info)

Please provide ( http://wiki.lazarus.freepascal.org/GDB_Debugger_Tips#Create_a_new_Report )
- The "debug output" of the IDE that runs the debugger and crashes. You must open the window, before starting the debugger with F9
- The log file
lazarus.exe --debug-log=C:\lazlog.txt --debug-enable=DBG_CMD_ECHO,DBG_STATE,DBG_DATA_MONITORS,DBGMI_QUEUE_DEBUG,DBGMI_TYPE_INFO,DBG_WARNINGS

Alexander Strokach

2012-07-14 12:31

reporter   ~0061028

Last edited: 2012-07-14 12:37

Run Lazarus_1, open Lazarus_2 source code in Lazarus_1. In Lazarus_1 set breakpoints. In Lazarus_1 press F9, run Lazarus_2. In Lazarus_2 create a new form (no modifying the open project), we write any letter in the code editor (skip stopping at breakpoints), click in the menu to undo. We are interested in the second stop on the breakpoint.

We stoped at DoSourceEditorCommand/[CurFocusControl: = Nil;]. Place the cursor over CurFocusControl, see the pop-up hint, press Alt + F5, add CurFocusControl in Inspect; return to the code editor, press several times F8 (intervals of time does not matter).

Martin Friebe

2012-07-14 13:18

manager   ~0061029

I can still not reproduce it. It may be that the issue only happens on some PC, and not on others.

Please run Lazarus with the logfile as described in my previous note, and attach the log after the error happened.

to modify the lazarus commandline, right click the lazarus shortcut on your desktop, and choose properties

2012-07-15 04:44

 

lazlog.txt (988,473 bytes)

Alexander Strokach

2012-07-15 04:44

reporter   ~0061046

I have attached the logfile

Martin Friebe

2012-07-15 11:50

manager   ~0061052

Thanks. I can see an error in the log.

Just to confirm
    "we get access violation or debugger-process dies"
In the log, it did enter an endless loop, and it looks like the debugger was killed by you (stop button or "reset debugger")?

Martin Friebe

2012-07-15 18:56

manager   ~0061066

Please test with revision 37950 or up (trunk or 1.1 snapshots / NOT yet in 0.9.31 snapshots)

If the issue remains, please re-open, and sent a new log-file.

Alexander Strokach

2012-07-16 10:56

reporter   ~0061079

Last edited: 2012-07-16 11:02

It's OK, thanks
P.S. Yes, after it did entered an endless loop, I clicked stop button.

Issue History

Date Modified Username Field Change
2012-07-14 09:29 Alexander Strokach New Issue
2012-07-14 10:11 Martin Friebe Status new => assigned
2012-07-14 10:11 Martin Friebe Assigned To => Martin Friebe
2012-07-14 10:24 Martin Friebe LazTarget => -
2012-07-14 10:24 Martin Friebe Note Added: 0061026
2012-07-14 10:24 Martin Friebe Status assigned => feedback
2012-07-14 10:31 Martin Friebe Note Edited: 0061026
2012-07-14 10:58 Martin Friebe Project Patches => Lazarus
2012-07-14 12:31 Alexander Strokach Note Added: 0061028
2012-07-14 12:37 Alexander Strokach Note Edited: 0061028
2012-07-14 13:18 Martin Friebe Note Added: 0061029
2012-07-15 04:44 Alexander Strokach File Added: lazlog.txt
2012-07-15 04:44 Alexander Strokach Note Added: 0061046
2012-07-15 11:50 Martin Friebe Note Added: 0061052
2012-07-15 11:50 Martin Friebe Status feedback => assigned
2012-07-15 18:56 Martin Friebe Fixed in Revision => 37950
2012-07-15 18:56 Martin Friebe Status assigned => resolved
2012-07-15 18:56 Martin Friebe Resolution open => fixed
2012-07-15 18:56 Martin Friebe Note Added: 0061066
2012-07-16 10:56 Alexander Strokach Note Added: 0061079
2012-07-16 10:58 Alexander Strokach Note Edited: 0061079
2012-07-16 11:02 Alexander Strokach Note Edited: 0061079