Skip to content

GitLab

    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    • Menu
    Projects Groups Snippets
  • Sign up now
  • Login
  • Sign in / Register
  • Lazarus Lazarus
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 2,083
    • Issues 2,083
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 8
    • Merge requests 8
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar

GitLab 15.0 is launching on May 22! This version brings many exciting improvements, but also removes deprecated features and introduces breaking changes that may impact your workflow. To see what is being deprecated and removed, please visit Breaking changes in 15.0 and Deprecations.

  • FPC
  • Lazarus
  • LazarusLazarus
  • Issues
  • #23800
Closed
Open
Created Jan 31, 2013 by FPC Admin account@fpc_adminOwner

IDE does not wait for debugger to "really" stop, if re-compilation is requested

Original Reporter info from Mantis: Martin @martin_frb
  • Reporter name: Martin Friebe

Description:

See http://forum.lazarus.freepascal.org/index.php/topic,19725.msg112843.html#msg112843

Steps to reproduce:

If the debugger is:
- running,
- and the debugged app is NOT paused (not at a breakpoint or stepping)
- and you choose "build" or "compile"
=> then a dialog will pop up "Can't compile while debugging. Stop Debugger?".
If you press:
- yes,
- and then press F9 (or run), right after the compiler finishes (F9 is ignored, while the compiler runs),
=> then you will hang the debugger.

Additional information:

Before compiling the IDE asks the debugger to stop. The debugger returns true, if it successfully stopped the debuggee.

But the debugger may still need time to clean up. The ToolStatus will still be itDebugger.

The IDE will not check the ToolStatus, it will start the cempiler, and when finished set the ToolStatus to itNone.

The debugger is not yet done, But due to itNone the IDE thinks otherwise, and will send a new Run request.
This will fail and leave an incorrect state.

-----
The debugger can not finish the stop, because the IDE is running in a ProcessMessages that was called by the debugger. The debugger can only finish, when this returns.

Since the debuggee is already stopped, it is save for the IDE to call the compiler. But it must restore the ToolStatus.

Mantis conversion info:

  • Mantis ID: 23800
  • OS: win
  • OS Build: vista
  • Platform: w32
  • Version: 1.1 (SVN)
  • Fixed in version: 1.1 (SVN)
  • Fixed in revision: 40097 (#2e47a308)
  • Target version: 1.2.0
  • LazTarget: 1.2
Assignee
Assign to
Time tracking