Project

General

Profile

Feature #4618

Auto-Demangling of C++ Function Names (like FreeBSD)

Added by Nick Zivkovic almost 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Start date:
2014-02-21
Due date:
% Done:

0%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

So, I've installed FreeBSD on my Laptop, and started playing around
with its DTrace implementation. I ran the following one-liner to see
what's going under the hood of a PDF viewer:

$ sudo dtrace -n 'syscall::recvmsg:entry /execname == "okular"/ {@[ustack()] = count();}'

One of the traces looks as follows:

              libc.so.7`recvmsg+0xa
              libxcb.so.2`0x8094b7c05
              libxcb.so.2`0x8094b749b
              libX11.so.6`poll_for_event+0x3a
              libX11.so.6`poll_for_response+0x28
              libX11.so.6`_XEventsQueued+0x65
              libX11.so.6`XEventsQueued+0x3d
              libQtGui.so.4.8.5`0x8027d7031
              libglib-2.0.so.0`g_main_context_check+0x184
              libglib-2.0.so.0`g_main_context_iterate+0x1d3
              libglib-2.0.so.0`g_main_context_iteration+0x64
              libQtCore.so.4.8.5`QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)+0x6e
              libQtGui.so.4.8.5`0x8027d6efd
              libQtCore.so.4.8.5`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)+0x1e7
              libQtCore.so.4.8.5`QCoreApplication::exec(void)+0xcd
              okular`0x4098fb
              okular`0x40882f
              ld-elf.so.1`0x800630000
              267

As you can see, the C++ function names in libQtCore are very readable
(relatively) and don't require demangling/postprocessing. Which is a
nice and convenient feature --- that I'd like to use on Illumos.

Also available in: Atom PDF