This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 249788 - calculation of stacks of each thread in debugging panel during line step is slow
Summary: calculation of stacks of each thread in debugging panel during line step is slow
Status: NEW
Alias: None
Product: cnd
Classification: Unclassified
Component: Debugger (show other bugs)
Version: 8.0.2
Hardware: PC Linux
: P3 normal (vote)
Assignee: Maria Tishkova
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-13 15:56 UTC by kalle1
Modified: 2016-07-06 14:38 UTC (History)
0 users

See Also:
Issue Type: TASK
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kalle1 2015-01-13 15:56:41 UTC
During debugging a multithreaded Qt application (`kdenlive` 0.9.10) I realized that when the debugging panel is opened all stacks for all threads seem to be preloaded which makes line steps very slow (take about 5 seconds when 30 threads are running) and multiple step requests can be done so that the debugger processes them all, each taking 5 seconds.

Steps to reproce:
  1. setup:

    git clone git://anongit.kde.org/kdenlive
    cd kdenlive
    git checkout v0.9.10
    cmake . -DQT_QT_INCLUDE_DIR=/usr/include/qt4/ -DQT_SELECT=4
    make

  2. create NetBeans C/C++ project with existing source pointing to the git clone target directory kdenlive with default settings
  3. Set a breakpoint at line 3585 of `projectlist.cpp` and `Debug` the project (leave all kdenlive setup steps at default values by pressing `Next` and `Finish` buttons in the setup wizard), add a clip and click right on it, then choose `Clip Jobs -> Automatic scene split`. The breakpoint will be hit, do multple line steps at a time and see watch the slow creation of expand icons of each root in the thread forest in the debugging panel.

I guess that the preloading of expansion need to be shortened so that stacks are not caculated, but just decided whether there's an expand icon to be added or not (I don't know if a thread cannot have a stack BTW...). The line step controll buttons need to be synchronized better, i.e. they need to block and if that risking the GUI to freeze the steps need to be done asynchronously.