Hey Dan,
We've looked into this extensively; looking at both flavors of apispy (yes, there are two of them, with very similar names), and a lot of other variations.
However, I've got a half baked W2K based solution similar to the Detours library from Microsoft. The advantage to my approach is that it generates a relay log identical to that of Wine, which then allows for diffing the log files.
If you'd like to work on this, this might well be a great project for you, and I'd be happy to do a brain dump and transfer the work to you.
*I* think it would be wicked cool. Sadly, most of the Wine gurus I work with just shake their head and smile whenever I suggest it deserves priority.
Cheers,
Jer
On Wed, 2003-01-01 at 17:30, Dan Kegel wrote:
Hi, I'm trying to figure out why an app works on Windows but not Wine, and it'd sure be nice to be able to log all the api calls the app makes under each of the two environments; then perhaps I could compare the logs to see where Wine differed from Windows.
Does anyone else do stuff like that? If so, what tools do you use?
http://www.wheaty.net/FAQ.htm#APISPY32 says that the best tool out there is http://www.internals.com/utilities_main.htm (Supposedly the author will send source to you on request, too.) That program requires a text file containing the prototype for each API you want to spy on, though, and it only comes with 3 APIs as an example. Does anyone have a full version of that file, or a perl script to create it from the wine tree?
I suppose I could write my own, too, if that's the only way to get a tool that works well in both environments. http://help.madshi.net/ApiHookingMethods.htm seems to have lots of info on that.
-- Dan Kegel Linux User #78045 http://www.kegel.com