[Soot-list] Problems with nested try..catch..finally?
Attila Bartha
at.bartha at gmail.com
Fri Oct 9 10:01:31 EDT 2009
Thank you!
I will try isolate the byte code that causes this problem.
Attila
-----Original Message-----
From: eric.bodden at googlemail.com [mailto:eric.bodden at googlemail.com] On
Behalf Of Eric Bodden
Sent: Freitag, 9. Oktober 2009 13:15
To: Attila Bartha
Cc: soot-list at sable.mcgill.ca
Subject: [?? Probable Spam] Re: [Soot-list] Problems with nested
try..catch..finally?
Hi Attila.
> Are there any known issues and limitations with regards to Exception
> handling?
Not that I am aware of. Coffi has been one of the most stable
components of Soot for as long as I can tell. It be really helpful to
see the bytecode that causes this problem. Are you sure that it's
legal bytecode, i.e., can you run it?
> 1. Is there a quick fix for this problem?
I could add a check to the CFG class so that the constructor does not
execute eliminateJsrRets() if there are no JSRs in the first place. (I
am 99% sure that your code contains no JSRs, they have become very
rare.) However, that would only cure the symptoms, not fix the
problem.
> 2. Is it possible to skip or replace the call of
> soot.coffi.CFG.eliminateJsrRets()?
Well, yes, see above, but there's no command line option for skipping it.
> 3. Why does dava not generate finally blocks? It generates another
> try..catch instead.
Java uses certain heuristics to try to identify source-code patterns
like "finally" in bytecode. Heuristics can fail. Having said that, I
am not even sure if there is a heuristic for "finally" in dava. In any
case, dava should hopefully generate at least correct code, even if
that ocde is sometimes far from the original.
Eric
--
Eric Bodden
Software Technology Group, Technische Universität Darmstadt, Germany
Tel: +49 6151 16-5478 Fax: +49 6151 16-5410
Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt
More information about the Soot-list
mailing list