Gerrit Voss wrote:

>Hi,
>
>On Thu, 2006-09-21 at 08:01 -0500, Allen Bierbaum wrote:
>  
>
>>Gerrit Voss wrote:
>>
>>    
>>
>>>Hi,
>>>
>>>
>>>If you know the container and there are only one or two around (which
>>>seems to hold in your case). Just set a breakpoint to either
>>>
>>>~PassiveWindow
>>>PassiveWindowBase::resolveLinks
>>>
>>>~Viewport
>>>ViewportBase::resolveLinks
>>> 
>>>
>>>      
>>>
>>Ok.  I tracked down resolveLinks and I found where it is called in the  
>>RefCountMixin::subReference and FieldContainerPtrBase::subReference (I 
>>don't really know what RefCountMixin is for but I could probably figure 
>>it out).  
>>Why couldn't the couldn't the code in FCPtrBase::subReference 
>>that calls the destructors and delete, modify some fields of the FC 
>>itself to munge things up a bit?  Or even just have the destructor for 
>>ReflexiveContainer do it.  Just something that could be seen from the 
>>debugger.  Is there no field like this or is it just that we would not 
>>be able to get to it in the debugger?
>>    
>>
>
>one problem you get with this approach is that is only reliable as long
>as the original fieldcontainer memory is not overridden.
>I could trash the FieldFlags if it helps. 
>
>  
>
>>Unfortunately in my case a breakpoint isn't so helpful because it is in 
>>the middle of a rather large application.  I may just add a print 
>>statement.  What I really need is probably the changeCallbacks solution.
>>
>>    
>>
>>>This should give you a good idea where the container is destroyed behind
>>>your back. In case this is not feasible valgrind is always an option (as
>>>long as you are on a platform supported by valgrind ;-)). 
>>>
>>>Another option, which I haven't checked if it is working right now, but 
>>>which we need anyway are the changedCallbacks. My plan was to make a
>>>final call with no FieldMask set on destruction.
>>> 
>>>
>>>      
>>>
>>How hard is this to add?  Is it something that someone will some skill 
>>but little knowledge of the current design could add?  In other words do 
>>you think I could do it?  :)
>>    
>>
>
>as it was a 1 1/2 liner it was just faster I did it ;-). Example in
>System/FieldContainer/Base/testChangedCallback.cpp
>  
>
Nice.  :)

Thanks,
Allen

>regards,
> gerrit
>
>
>
>-------------------------------------------------------------------------
>Take Surveys. Earn Cash. Influence the Future of IT
>Join SourceForge.net's Techsay panel and you'll get the chance to share your
>opinions on IT & business topics through brief surveys -- and earn cash
>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>_______________________________________________
>Opensg-users mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/opensg-users
>
>  
>


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to