Ray, Thanks for the thought. I do want to log the stack trace but as I can't predict when this issue might happen and it is rare. I want to narrow down to the close circumstances first, or else I will be logging thousands of these stack traces in normal operation when there isn't a problem. What I need to do is detect when a given attribute is changed from non-null to null (which should never happen), so I need to check what it was before it is being set i.e. just check it was non-null before being set to null.
John On 11 Sep 2014, at 18:05, Ray Kiddy <[email protected]> wrote: > On Thu, 11 Sep 2014 14:55:16 +0100 > John Pollard <[email protected]> wrote: > >> Hi List, >> >> In some debugging within takeValueForKey() I want to find out if the >> key already has a value set. If I call valueForKey() or >> storedValueForKey() and the value isn't already set I get infinite >> recursion as it triggers a fault and tries to load with >> takeValueForKey() and so on. >> >> I am trying to debug where a value is being set to null, but >> apparently not going via validateXXX() or setXXX() methods, so I want >> to trap the case where the takeValueForKey() is passed null when the >> key value was previously non-null and log a stack trace. >> >> Thanks >> John > > One way to prevent the recursion you are talking about is to actually > look at the stack trace inside the method. Call the static method in > Wonder, ERXUtilities.stackTrace(), and look at what is in it. If you > find the method you are in, you have already been called. > > Without Wonder, you can instantiate a Throwable and get the stack trace > from that. > > Doing this is a smell. You do not want to leave this in your code. > > But since you are putting this in to find something, having this check > there temporarily can be useful. > > - ray > > > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Webobjects-dev mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/webobjects-dev/john%40pollardweb.com > > This email sent to [email protected] _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
