[panda-users] New to panda, How to set up the debug environment for panda source code

Manolis Stamatogiannakis mstamat at gmail.com
Fri Jul 22 09:55:58 EDT 2016


Hi Hobart,

You should probably start reading from here:
https://github.com/moyix/panda/blob/master/docs/manual.md
https://github.com/moyix/panda/blob/master/qemu/panda_plugins/taint2/README.md
https://github.com/moyix/panda/blob/master/qemu/panda_plugins/taint2/USAGE.md

Most of the code you'll be looking at lives under qemu/panda_plugins. If
you want to study some code, you should probably start there.

Not sure if it makes sense to load all of the code of the repository in an
IDE or if anyone has done that before. In my experience, you usually code
only a few plugins at the time and the APIs you use are fairly simple. So
your favourite editor should be enough. But that may be just me.

For live debugging, you should take into account
http://wiki.qemu.org/Documentation/Debugging.
Since PANDA does *deterministic* R&R, good-old assertions, printfs and core
dumps also work well when debugging plugins.

Good luck,
M.


2016-07-22 14:30 GMT+02:00 he hobart <superchao2031 at gmail.com>:

> Hello everybody!
>
> I'm new to PANDA open-source project. I want to become a contributor of
> PANDA project. And I have read your CCS paper and some conference
> presentations. Known some basic principle of PANDA, I have tried the
> experiment to find the SSL master key. It works well. PANDA is so amazing
> and awesome! So I want to know the detail that how to implement PANDA and
> ready to read the code of PANDA. However, There are some basic question
> bother me for some days. Maybe some of you already know how to deal with it
> and think that is quite simple. So I'm writing this email ask for some
> helps .
>
> Before PANDA project, I'm familiar with some C/C++ in Windows environment
> and Python . Some program project scale is comparable to PANDA. Although
> have some C/C++ code experience in Linux, They all have main() function to
> tell me that this is the entrance of this program. So I can follow the
> execution of C/C++ programs step by step by set some breakpoints.
> Sometimes, I can write some test code to understand some detail about this
> programs. But when I meet with PANDA, I don't know how to set the PANDA
> project in my Clion IDE or just partly function of PANDA. And I don't
> know how to make the structure of PANDA source-code clear. Because the
> source code structure of PANDA is a little bit complicated. What's more, The
> scale of PANDA project is so big that I don't know where is the beginning
> to read it.
>
> So, do you know how to set up the debug environment for PANDA source
> code?  It will be something same as the picture shown at the bottom. Do you
> know what's the code structure of PANDA and where should I start to read,
> specially about their taint plugin?  Is there only one way that read all
> Makefile of PANDA to understand  the structure of source code ? As you
> known, we all only just want to know partial complement detail of PANDA not
> all of them. For example, If we want to know how PANDA to realize its taint
> analysis, we only just want to read some source code relative to taint
> analysis. We don't want to read all source code of PANDA. Mostly there are
> many code that talk about how to realize QEMU. So we can put our efforts on
> how to improve the speed of taint analysis or others performance and append
> some special function to perfect PANDA. I will be very appreciative if you
> can provide some detail about how to build the debug environment.
>
> Thanks for any answer provided by you !
>
> -Hobart
>
>
>>
> _______________________________________________
> panda-users mailing list
> panda-users at mit.edu
> http://mailman.mit.edu/mailman/listinfo/panda-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/panda-users/attachments/20160722/b37432a6/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: IDE.jpg
Type: image/jpeg
Size: 81999 bytes
Desc: not available
Url : http://mailman.mit.edu/pipermail/panda-users/attachments/20160722/b37432a6/attachment-0001.jpg


More information about the panda-users mailing list