[GSOC 2014] JSON support for strace - problems

enh enh at google.com
Mon Jul 28 16:07:41 UTC 2014

On Mon, Jul 28, 2014 at 8:44 AM, yangmin zhu <zym0017d at gmail.com> wrote:
> Hi Dmitry,
> I'm working to modify strace to support JSON, but I just encounter a
> big problem recently and I could not find
> out a suitable way to get through.
> the problem is:
> 1), as you know, I designed a framework to support the JSON output and
> the core of the framework is to hook the metadata printed by
> tprintf().
> I then modify strace code to use this framework. But I found that the
> code is becoming more and more complicated(or ugly)
> when I modify some complicated functions such as sys_clone() and sys_ioctl().
> 2), I also found a flaw in my hook framework: I passed the va_list
> variable to vfprintf() and reuse this variable after the call, But I
> just found that
> the man-page of va_arg says: "If ap is passed to a function that uses
> va_arg(ap,type) then the value of ap is undefined after the return of
> that function."
> this indicate that although my current code worked, but the behavior
> is in fact undefined which may not work in another system.

man va_copy

> so I rethink my design to support JSON output:
> The basic framework is designed too complicated and it seems we can in
> fact modify only small part of strace to make it support JSON. (maybe
> we can reuse most
> of the current tprintf/tprints functions).
> I'm also trying to find workaround for arg_list() problem, I thought
> about the arg_copy(), But It couldn't fix the problem in a clean
> way(especially when the format string contain multiple specifier). and
> because of this I'm trying to redesign the framework to bypass these
> problems.
> IMHO, I'm afraid that I could not finish modifying all the sys_*
> functions in strace (there are 300+ such functions in about 35 files)
> before the deadline of GSOC.
> But I think once I got a better basic framework design it would help
> to modify the current to suport JSON output witout heavy effort.
> I will post my new design to mailing list ASAP, and I will continue my
> work after the GSOC deadline. So I hope
> If you have any suggestions, please let me know.
> Thank you.
> ---
> YangMin
> ------------------------------------------------------------------------------
> Infragistics Professional
> Build stunning WinForms apps today!
> Reboot your WinForms applications with our WinForms controls.
> Build a bridge from your legacy apps to the future.
> http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
> _______________________________________________
> Strace-devel mailing list
> Strace-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/strace-devel

More information about the Strace-devel mailing list