Related articles |
---|
embedded dataflow tracking code? dennis.yurichev@gmail.com (Dennis Yurichev) (2010-07-24) |
Re: embedded dataflow tracking code? gneuner2@comcast.net (George Neuner) (2010-07-26) |
Re: embedded dataflow tracking code? gene.ressler@gmail.com (Gene) (2010-07-26) |
Re: embedded dataflow tracking code? dot@dotat.at (Tony Finch) (2010-07-27) |
Re: embedded dataflow tracking code? walter@bytecraft.com (Walter Banks) (2010-07-30) |
From: | Walter Banks <walter@bytecraft.com> |
Newsgroups: | comp.compilers |
Date: | Fri, 30 Jul 2010 07:52:12 -0400 |
Organization: | Netfront http://www.netfront.net/ |
References: | 10-07-030 |
Keywords: | dataflow, debug |
Posted-Date: | 30 Jul 2010 10:49:46 EDT |
Dennis Yurichev wrote:
> I would like to load debugger, attach to working process, and at
> some breakpoint, instead of numerical values in the CPU registers,
> I would like to see genesis of each value like "result of
> f(arg1, arg2,arg3) called at point X" or "result of comparison of
> values X and Y" and so on.
>
> Probably, compiler backend could embed some dataflow tracking code
> between basic blocks and store information about all variables flow
> in some separate data segment..
>
> Are there any known attempts or projects or...?
We implemented a messaging system between the compiler and
development environment in our source level debugging files. The
messages are similar to predefined breakpoints that have multiple
message types that that can be processed or not by the debug
environment. There are several things that we commonly use this
capability for. Messages may be compiler generated or user embedded
with pragma's
- Embedded print statements that can be displayed in the debug
environment or routed to a log. The advantage is these print
statements look like printf's but don't generate any application
code. For embedded systems it is important to ship the code that
was actually tested.
- Automatically generated compiler information on program structure.
McCabe control points for example. This is similar to the op's
requirement. Infact these could be filtered for function calls
only by the debug environment.
- Links to regression test files as part of a function definition.
This was part of an embedded system test system.
- Non code generating assert's
We use the same technology to export software interfaces between
processors used in our heterogeneous multiprocessor support.
Regards,
Walter..
--
Walter Banks
Byte Craft Limited
http://www.bytecraft.com
Return to the
comp.compilers page.
Search the
comp.compilers archives again.