[Crash-utility] Extension modules in C++

Michael Holzheu holzheu at linux.vnet.ibm.com
Thu Aug 2 09:22:26 UTC 2012


Hello Alex,

On Wed, 01 Aug 2012 18:06:51 -0400
Alex Sidorenko <alexandre.sidorenko at hp.com> wrote:

> On July 26, 2012 11:57:05 AM Petr Tesarik wrote:
> > Hi all,
> > 
> > as part of SUSE HackWeek8, David started work on a GUI extension
> > using Qt4, which is a C++ project.
> 
> Hi all,
> 
> I have a working prototype (still in Alpha) of Python-Qt based GUI
> that works remotely using the following approach:
> 
>  - at server side, you load PyKdump and do 'epython server'
>  - at your local PC, you run 'python guimain.py'
> 
> Communication is done using TCP and exchanging records with headers
> containing data length.
> 
> At this moment the project is in early stages (proof of concept) but
> already usable. Because PyQT is portable, the same sources work both
> on Linux and Windows clients.
> 
> I think that building GUI directly on top of crash is not the best
> approach - it is easier to add a small extension to crash and then
> communicate with it (if done locally, we could use shared memory or
> AF_UNIX sockets). 
> 
> A similar approach (driving GDB externally instead of linking with
> it) is already used in several GUI debuggers, e.g. 'ddd'.

Again just for your information:

qlcrash used an similar aproach. The communication layer was
pluggable. Besides of a local plugin there was a remote plugin that
talked to an lcrash daemon via TCPIP. We could even run
qlcrash on windows clients and debug remote s390 dumps.

See:

local: lkcdutils/qlcrash/plugins/localplugin.cpp
remote: lkcdutils/qlcrash/plugins/tcpplugin.cpp
lcrash daemon: lkcdutils/lcrashd

Perhaps some of the code could be reused for your project.

Michael




More information about the Crash-utility mailing list