DVT e Language IDE User Guide
Rev. 23.1.12, 23 May 2023
You can send an issue report right from the DVT GUI using the Report an Issue dialog. Along with a problem description, we often need logs and system information in order to reproduce a problematic behavior and fix it.
Go to menu Help > DVT Quick Help > Report an Issue or simply click the toolbar button:
Fill in the identification data (will be remembered for future reports) and issue description. Attach screenshots, code snippets or any other files you consider helpful in reproducing the problem. By default various application logs and diagnostic files are attached. You can preview any attachment using the magnifier icon.
When you click 'Send', an e-mail is sent to email@example.com with your own address in CC. You can also save the issue report as a zip archive, and send it manually to firstname.lastname@example.org (for example if you don't have Internet connectivity on the machine where DVT runs).
The most useful debug information when dealing with performance issues is a JVM thread dump. Most likely this will help us pinpoint the problem and provide a fast solution.
How to generate a thread dump from within DVT Eclipse?
To generate a thread dump from within DVT go to Help > DVT Quick Help > Thread Dump Collector. Start the collector, then do the operation that causes the performance issue and afterwards stop the process from the same dialog.
You can also use the Start Thread Dump Collector and Stop Thread Dump Collector shortcuts from the Quick Access bar (Ctrl+3). The thread dump is generated in the directory of the currently selected DVT project.
How to generate a thread dump from outside DVT Eclipse?
Assuming the DVT GUI is frozen, you can still generate a thread dump by running a script. Open a terminal, log into the machine where DVT runs and run the following command:
$DVT_HOME/bin/dvt_debug_utils.sh -workspace <dvt_workspace_location> -thread_dump -nof_kills 60 -tbs 500ms
The thread dump file is generated in the <dvt_workspace_location>.
How to generate a thread dump for Verissimo & Specador running in batch mode?
Open a terminal and log into the machine where Verissimo/Specador runs. Identify the PID of the Verissimo/Specador java process, for example:
ps aux | grep ro.amiq.dvt.main.specador.SpecadorMain
Run the following command:
$DVT_HOME/bin/dvt_debug_utils.sh -pid <PID> -thread_dump -nof_kills 60 -tbs 500ms
The thread dump is generated in the current directory.
Note: Thread dumps can be automatically generated for specific named actions that the tool performs using the +dvt_profile+<name>[ +<name>][ +<period_ms>] build configuration directive, where <name> is one of: VLOG_RI, VLOG_RC, VLOG_RPC, VLOG_ELAB, VLOG_RD, VLOG_FSC, VLOG_EV, VLOG_US, VLOG_EP, VLOG_CP, VHDL_RU, VHDL_RT, VHDL_RD, VHDL_FSC, VHDL_USBD, VHDL_US, VHDL_RPC, VHDL_ELAB, VHDL_CP, ALL.