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: "Karan, Cem (Civ, ARL/CISD)" <email@hidden>
- Date: Tue, 30 Nov 2004 21:14:37 -0500
- Thread-topic: APPLE GUYS: Do you want Shark profiles of XCode when it hangs?
Yes, exactly! You're right that there are bodies of code this won't
work for (time sensitive, drivers, etc.) but for a very large body of
code this isn't a problem. Take XCode; I can periodically cause it to
hang. Telling the development team "Well, I hit the compile button, and
then the cursor started to spin; I went for coffee and lunch, came back
and it was doing the same thing so I force quit it" really isn't much
help. Ideally, we could hand them a test project + a script that is
timed + information on our hardware configuration. The script can be
run on similar hardware on the test project, and, because of the timing
information, you will tend to get similar results (OK, OK, its
multithreaded, and we can't force the threads to switch at the times we
want, but its better than nothing)
Ideally, we'd have a trace that could be as fine grained as we want:
apple events, apple events + functions called, apple events + functions
called + individual instructions. I know that I can get the individual
instructions using amber, and then I think I can run that through simg4
or simg5, but that requires me to put in CHUD instructions around areas
I think that are problematic and it produces HUGE amounts of output. It
would be much better to have a continuous FIFO trace, with a snapshot
taken when something 'bad' has happened that I can then figure out for
apple events, etc.
Oh well, I'm probably asking for too much...
Cem
> -----Original Message-----
> From: James Milne [mailto:email@hidden]
> Sent: Tuesday, November 30, 2004 7:37 PM
> To: Karan, Cem (Civ, ARL/CISD)
> Cc: j o a r; Xcode Users
> Subject: RE: APPLE GUYS: Do you want Shark profiles of XCode
> when it hangs?
>
> 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