Kcachergind не может отображать график потока управления, несмотря на то, что DOT установил и работал на WSL2Linux

Ответить
Anonymous
 Kcachergind не может отображать график потока управления, несмотря на то, что DOT установил и работал на WSL2

Сообщение Anonymous »

У меня проблемы с визуализацией потока управления в kcachergind при анализе моего вывода Callgrind. Хотя у меня установлены и DOT (GraphViz), и Objdump, Kcachegrind не может отображать график потока управления и показывает ошибку, связанную с процессом DOT (я думаю). Ниже приведены все соответствующие подробности о моей настройке, шагах устранения неполадок и выходах.$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
< /code>
< /li>
kcachergind version
$ kcachegrind --version
kcachegrind 25.04.1
< /code>
< /li>
Dot версия
$ dot -V
dot - graphviz version 2.43.0 (0)
< /code>
< /li>
Я пытался напрямую тестировать точку:
echo "digraph G { A -> B }" | dot -Tpng -o test.png
# test.png was created successfully
< /code>
< /li>
проверено /tmp perssmissions:
$ ls -ld /tmp
drwxrwxrwt 9 root root 12288 Jun 9 14:39 /tmp
< /code>
< /li>
< /ul>
При запуске kcachergrind график потока управления не отображается, он показывает только текст < /p>

Нет графика, потому что процесс расположения не удастся. Попытка запустить следующую команду, не работала dot -tplain-ext < /code>

, пожалуйста, проверьте, что Dot < /code> установлен.$ dot -Tplain-ext test.dot
graph 1 1.125 2.5
node A 0.75 2.25 0.75 0.5 A solid ellipse black lightgrey
node B 0.375 1.25 0.75 0.5 B solid ellipse black lightgrey
node C 0.75 0.25 0.75 0.5 C solid ellipse black lightgrey
edge A B 4 0.66113 2.0057 0.61787 1.8935 0.56481 1.756 0.51619 1.6299 solid black
edge B C 4 0.46387 1.0057 0.50713 0.89354 0.56019 0.75599 0.60881 0.62993 solid black
edge C A 10 0.80075 0.50128 0.82883 0.64488 0.86084 0.83208 0.875 1 0.89367 1.2214 0.89367 1.2786 0.875 1.5 0.86505 1.6181 0.84626 1.7457 0.82623 1.8609 solid black
stop
< /code>
Вывод при запуске kcachergind является следующим: < /p>
$ kcachegrind callgrind_original.out.55340
Selected "main"
ControlFlowGraphView::refresh: Starting process QProcess(0x566cd5d2b660) , ' QProcess(0x566cd5d2b660) '
Running 'objdump -C -d --start-address=0x11E0 --stop-address=0x201A /home/user/prog/test/real'...
ControlFlowGraphView::dotError: Got QProcess::WriteError from QProcess QProcess(0x566cd5d2b660)
QProcess: Destroyed while process ("dot") is still running.
ControlFlowGraphView::dotExited: QProcess QProcess(0x566cd5d2b660)
< /code>
Я попытался запустить kcachergind как root, но затем я попадаю в другую проблему: < /p>
$ sudo kcachegrind callgrind_original.out.55340
kf.dbusaddons: DBus session bus not found. To circumvent this problem try the following command (with bash):
export $(dbus-launch)
< /code>
Я всегда получаю эту ошибку при выполнении ее как корень, когда я попробовал экспорт.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... nd-working
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»