Return-Path: Delivered-To: apmail-jakarta-bcel-user-archive@apache.org Received: (qmail 98029 invoked from network); 23 Sep 2002 19:34:04 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 23 Sep 2002 19:34:04 -0000 Received: (qmail 28595 invoked by uid 97); 23 Sep 2002 19:34:47 -0000 Delivered-To: qmlist-jakarta-archive-bcel-user@jakarta.apache.org Received: (qmail 28566 invoked by uid 97); 23 Sep 2002 19:34:46 -0000 Mailing-List: contact bcel-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "BCEL Users List" Reply-To: "BCEL Users List" Delivered-To: mailing list bcel-user@jakarta.apache.org Received: (qmail 28549 invoked by uid 98); 23 Sep 2002 19:34:46 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) To: "BCEL Users List" Subject: Re: Verifies chokes References: <000001c26335$3b7a9120$6f64a8c0@asgard.local> From: Laurent Martelli Date: Mon, 23 Sep 2002 21:33:51 +0200 In-Reply-To: <000001c26335$3b7a9120$6f64a8c0@asgard.local> ("Peter Schneider"'s message of "Mon, 23 Sep 2002 21:12:59 +0200") Message-ID: <87znu8fqlc.fsf@bearteam.org> Lines: 29 User-Agent: Gnus/5.090007 (Oort Gnus v0.07) Emacs/20.7 (i386-debian-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N >>>>> "Peter" == Peter Schneider writes: [...] Peter> insert before the first instruction of any exception handler Peter> DUP INVOKEVIRTUAL Throwable.printStackTrace and everything Peter> should be fine if you need to avoid double stack traces you Peter> are in trouble. I'm not sure if it's even possible. Everything is possible, it's just a matter of time :-) A trivial approach would be to scan the instructions and see if there's already an "INVOKEVIRTUAL Throwable.printStackTrace". But you won't know what exception this is called on. If you want to know this, you should do a little data-flow analysis. It's not that hard. You should (well, that's an approach, maybe there are others) simulate the effect of instructions on the state of the stack. This way, you can determine what's on the top of the stack when INVOKEVIRTUAL is executed. I think I gave some pointers to the CVS repository where you can find my code a few days a ago on the list. Regards, Laurent -- Laurent Martelli http://jac.aopsys.com/ laurent@bearteam.org http://www.bearteam.org/~laurent/ -- To unsubscribe, e-mail: For additional commands, e-mail: