RE: APPLE GUYS: Do you want Shark profiles of XCode when it hangs?
RE: APPLE GUYS: Do you want Shark profiles of XCode when it hangs?
- Subject: RE: APPLE GUYS: Do you want Shark profiles of XCode when it hangs?
- From: James Milne <email@hidden>
- Date: Wed, 01 Dec 2004 00:37:18 +0000
On Wednesday, December 01, 2004, at 00:07AM, Karan, Cem (Civ, ARL/CISD) <email@hidden> wrote:
>OK, I see where you are coming from, and I understand that I used the
>terminology badly. Let me try to clarify my problems.
>
>Performance problems should be solved just as you stated below; using
>Shark or Spin Control, etc. However, sometimes during a single run,
>I'll run into a problem. I don't know what exact path I followed to get
>my system hung, but I did something. I know that it isn't a performance
>problem, its just something locked up. Ideally, I'd have a trace of
>everything that happened up to the moment that the system hung.
>Unfortunately, that is too large. My next thought is just the apple
>events that go into the program. If you can replay what was going on in
>the 10-15 seconds before the problem occurred, you may have a good idea
>as to what happened. I'm sure that there is a simple way of doing this;
>unfortunately, I don't know how to. What I'd like is something that is
>as simple to use as Shark or Spin Control that maintains a FIFO trace of
>everything that is going on that can be triggered to take a snapshot
>under some testable condition. Once again, 'everything' is too big.
>The closest that I can get to that is all of the Apple events. My
>assumption is that for many programs that only get their input from the
>keyboard and mouse, this is pretty good. I was thinking about Shark
>because I'm familiar with it.
>
>Is there something like this that I can install on my tester's machines?
>That way they can send me the traces and I can figure out what was
>happening prior to the lock-up/crash/whatever.
I know exactly what you mean; basically, you want to record the whole input
stream: what keys the user pressed, what movements the user made with the
mouse, where they clicked, etc.
Assuming you ran the input stream back again on a machine configured
similarly to the person who generated the stream (ie- same display dimensions,
ergo buttons in the same position) you should end up having the same code
running.
This would be true if the application wasn't time-sensitive. If the code of your
application makes any decisions based on the current time of the machine, then
you are guaranteed to diverge from the state of the user's machine when replaying
the input stream, since you have no way of controlling what the application thinks
the current time is when it is replaying the file.
We use similar techniques in games development, but we have control over
recording the whole input stream (button presses, network packets, etc.) and
the current time for the simulation, which we can use to override the usual
mechanisms for calculating such.
On MacOS Classic, there used to be tools for stress-testing and QA that could
run scripts of user interface actions; ie typing, mouse clicks, etc. Not sure if there
is anything equivalent for Mac OS X.
--
James Milne
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden