Recent

Author Topic: Delphi-like debugging environment  (Read 3888 times)

Tikani

  • New Member
  • *
  • Posts: 10
Delphi-like debugging environment
« on: August 01, 2017, 11:59:21 pm »
How to setup Delphi-style debugging environment? I want to see call stack, local variables inspector simultaneously and, if program crushes with exception, then debugger must break on human-readable ObjPascal code. Why does it always show "Assembler" window, where I can see only asm and mangled procedures, though I turn on full debug information in project settings?  >:( >:( >:( >:D >:D >:D

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9864
  • Debugger - SynEdit - and more
    • wiki
Re: Delphi-like debugging environment
« Reply #1 on: August 02, 2017, 01:01:21 am »
As for seeing them all together... I suspect you are looking for anchordocking?
There is also a feature to setup independent "desktop" layouts (may be that is in 1.8RC).

As for the asm window: Yes exception handling needs some improvement. For now select the frame in the stackframe (you can set the asm window to very small size, and set its power button to off, but it will still be there, sorry)

Tikani

  • New Member
  • *
  • Posts: 10
Re: Delphi-like debugging environment
« Reply #2 on: August 02, 2017, 04:12:06 am »
In comparison with Delphi Lazarus has big advantage - it's modules and components have completely available sources under open licence thus it should give a stunning freedom in sense of debugging (opposite to Delphi), but now, Delphi is a "debugging" leader. Lazarus is a winner in many cases, but it really needs a user-friendly debugger. Although, in Delphi you can see ugly assembler mnemonic&opcodes on exception break too, but only in case if you don't add full debug information to EXE file. Please, make Lazarus debugging more suitable for real tasks.
P.S. Sorry for reproaches, anyway, Lazarus is a worthy thing, but some drawbacks restrain it from usage in big complex projects. Thanks for your efforts.

Thaddy

  • Hero Member
  • *****
  • Posts: 14367
  • Sensorship about opinions does not belong here.
Re: Delphi-like debugging environment
« Reply #3 on: August 02, 2017, 09:29:50 am »
How to setup Delphi-style debugging environment? I want to see call stack, local variables inspector simultaneously and, if program crushes with exception, then debugger must break on human-readable ObjPascal code. Why does it always show "Assembler" window, where I can see only asm and mangled procedures, though I turn on full debug information in project settings?  >:( >:( >:( >:D >:D >:D

You did not configure the debug settings correctly: compile with line info.
Quote
In comparison with Delphi Lazarus has big advantage - it's modules and components have completely available sources under open licence thus it should give a stunning freedom in sense of debugging (opposite to Delphi), but now, Delphi is a "debugging" leader. Lazarus is a winner in many cases, but it really needs a user-friendly debugger. Although, in Delphi you can see ugly assembler mnemonic&opcodes on exception break too, but only in case if you don't add full debug information to EXE file. Please, make Lazarus debugging more suitable for real tasks.
P.S. Sorry for reproaches, anyway, Lazarus is a worthy thing, but some drawbacks restrain it from usage in big complex projects. Thanks for your efforts.
Same answer: You did not configure the debug settings correctly: compile with line info.

And indeed: anchor docking may improve your experience.

Although Delphi's debugger is very,very good (but only on Windows, not on other supported platforms) , Lazarus and FPC use the industry standard debugger:GDB. Nothing wrong with an industry standard or is there? And it is also cross-platform.

Your responses seem to lack knowledge.
« Last Edit: August 02, 2017, 09:32:39 am by Thaddy »
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

Tikani

  • New Member
  • *
  • Posts: 10
Re: Delphi-like debugging environment
« Reply #4 on: August 02, 2017, 05:08:35 pm »
I used GDB  in C++ development using Qt framework. Qt Creator debug mode behave itself like the Delphi one. Btw, I had to use GDB directly (as console application), when i wrote C command-line utility for Linux and it was kinda hell (you must be out of your mind to count debugging without GUI as a comfortable job). So, that's why GDB per se is considered as "back-end". Thus, i want to say that Lazarus has an incomplete integration with GDB to call it "complete front-end over GDB". If you think that's way of thinking is due to lack of knowledge, then attach some screenshots with proofs, where you can get the root source of raised exception in ObjectPascal code, not in assembler.

 

TinyPortal © 2005-2018