[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [platform-debug-dev] NOT preserving the Variables View expansion state
- From: Vladimir Gusev <zaboba@xxxxxxxxx>
- Date: Thu, 3 Sep 2009 15:10:19 -0400
- Delivered-to: email@example.com
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=rcW7odNOXWUDz8vp89FVbIHx1cdRDz5AAcLq9FNVF9Q=; b=x2hYP6hhupGbjaUQwo8iZL83yvGla5YNd5wRRgRBAqewCPbtXFzfAZeITxBV+AxXH2 08M6Qr0cdVn7swyGE1t9xvylEFQ5KsRBCbPDQZP5SLOsz99EdDyJAa+lM+g1+N+36g3v LvWTkA17rrpLepoTMbSzWFuubRKbrbBRa4Jc0=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=QMILXAAeorvGn1w80xI4MVsTMhQ0PWnyKi2G8K+o2sjwy81C6s938isKnsJNftRcVj jhklf1QXtSHdgKqs1txgZ/bUKuDCld7mlkOEEVM+mqeykgMFiSzuVDtRNOdOIwinNRIv MtVbmnZV0tgv4wtBxOblR2dljpdqPO3DTf/go=
On Thu, Sep 3, 2009 at 10:06 AM, Darin Wright <Darin_Wright@xxxxxxxxxx>
Currently there is no way to do this. The variables view caches expansion
> In my custom debugger, I would like to preserve the expansion state
> of a variable depending on its type in the following scenario. The
> user hits the same breakpoint repeatedly in a loop. In suspended
> state, she examines some or all of the variables in the Variables
> View by expanding a variable children. On the next suspend at the
> same breakpoint, Variables View tries to reproduce the expansion
> state of the previous suspension. However, for some variables it may
> be very costly (such as database tables), and in all cases, the
> expansion of such a variable should only happen when the user clicks
> the + widget for this variable.
> To repeat: depending on the type of the variable, I would like to
> have it always collapsed in the Variables View, regardless of the
> previous user's actions.
> Is there a debug platform specific way to achieve this?
state per frame (in an LRU cache that holds about 20 states). When a frame
is re-entered, the corresponding state is restored. Models don't currently
interact with this (except to create element mementos and compare elements
to mementos via IElementMementoProvider).
It's possible that you could avoid re-expanding variables by hacking your
IElementMementoProvider to always return "false" when comparing. I.e.
during state restore, you would never admit to having an element that
matched a memento for a variable that you do not want expanded. (I have
not tried this, it is just a hypothesis).
It did the trick.