Recent

Author Topic: How do I prevent the Assembler Window from appearing?  (Read 262 times)

RedOctober

  • Sr. Member
  • ****
  • Posts: 379
How do I prevent the Assembler Window from appearing?
« on: February 15, 2021, 01:38:59 am »
Is there a way to stop the Assembler window from popping up during Step execution (F7, F8) ?
It grabs focus, and I have to manually close it about 30 times for each debug run.  It displays for every SQL parameter assignment, every call to the Windows API, etc.  I'm hoping there is a Debug switch for this, that I can switch it off.

jamie

  • Hero Member
  • *****
  • Posts: 4177
Re: How do I prevent the Assembler Window from appearing?
« Reply #1 on: February 15, 2021, 02:28:12 am »
I just looked and I am going to take a guess here.

Normally that does not bother me because I like looking at code ;)

but looking at the ASM window at the upper top left, there is an icon that looks like a power button, click it so its not high lighted anymore and then close the window, that may fix your issue.
The only true wisdom is knowing you know nothing

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 6888
  • Debugger - SynEdit - and more
    • wiki
Re: How do I prevent the Assembler Window from appearing?
« Reply #2 on: February 15, 2021, 03:13:19 am »
There is not, but maybe there is.

If your code stops somewhere where the debugger can not show you a source line (for whatever reason, even if there it is a bug) then it will open the asm. The debugger insists on showing you where you stopped.

In some case, like exception, it will show you the source of calling code (lower down the stack frame), but that is limited to exceptions.

If you (as you said) "stepped" F7fF8, then the debugger wants you to show the real pos where you are at.

F7/F8 should have stepped to the next source line. So it should not stop in asm code (and if it didn't there wouldn't be an asm window). Unfortunately either GDB or FPC (or the combination of both) have a bug => and F7/F8 stops incorrectly.

For this specific case there is a setting.
Tools > Options > Debugger:  There is a property grid. Find the option "FixIncorrectStepOver". The IDE will try its best to correct the wrong step. Usually that works well. No known side effects yet, almost. Occasionally (rarely) you need to do F8 twice, because the first F8 only step half a line (and appears not to have moved at all).


There also is "automatically close asm window, after source not found". This will close the asm window, when you press F7/F8 again. (assuming that returns you to a pos with source).


And there is fpdebug. It does not have the above bug. It will open the asm, if you do asm-stepping. But that is kind of desired / by design.
« Last Edit: February 15, 2021, 03:21:03 am by Martin_fr »

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 6888
  • Debugger - SynEdit - and more
    • wiki
Re: How do I prevent the Assembler Window from appearing?
« Reply #3 on: February 15, 2021, 03:16:19 am »
The "power button" will prevent the asm window from fetching new disassembled data (and hence save some time).
But it will still pop it up, and even try to set the current line, if that current line is in the already shown data.

The power buttons were introduced to deal with slow data loading. Since fetching any data from gdb takes noticeable time, most debug windows have the power button. It offer a quick way to temp disable them. Then other debug windows may be able to display their data sooner.
E.g. disable the stack and watches may appear a tiny bit earlier. That is because watches are always fetched after the stack (if the stack window is open)
« Last Edit: February 15, 2021, 03:22:50 am by Martin_fr »

 

TinyPortal © 2005-2018