views:

1686

answers:

2

I have a DLL that I want to profile.. I tried to use Very Sleepy, but I can't seem to get the source file column to display which source file the functions came from, all it displays is "unknown".. Anyway, I'm really baffled on how to use this app.. Can anyone point me to some help? There's not much documentation on it and it seems like it hasnt been maintained recently.. =/

Thanks..

EDIT: Adding another question:

What do the terms exclusive and inclusive mean in this app? Thanks..

+7  A: 

You're going to need debugging information (PDB files) if you want to know the source file and column. That information doesn't get saved unless you ask for it.


Unfortunately the profiler has no documentation that I can find. However, there are definitions for inclusive and exclusive when it comes to profiling:

  • inclusive: total amount of time spent in function
  • exclusive: amount of time spent in function minus any time spent calling other functions
Max Lybbert
Thanks, adding the PDB + MAP file to the DLL directory makes the stuff show up.. :) I'm still getting some unknown stuff though, could this be some other DLL's function?
krebstar
I would expect it to be another DLL's function, yes.
Max Lybbert
Thanks for the additional information.. :)
krebstar
+1  A: 

If you already have the PDB file, remember to keep it in the same directory it was generated.

If you don't remember what directory it should be kept in, just open your .exe or .dll with a text/hex editor and scroll until the very end of the file, the pdb directory will be there. This is true, at least, if you're using MSVC6.

I hope it helps.

David Alfonso
No, what I do is I move my DLL to the directory where the executable requires it to be.. So when I run Very Sleepy I have to attach to the exe. Without the PDB files in the directory where the DLL was, I couldn't see the information.. But I added the PDB + MAP files to it and it worked..
krebstar
Ok, maybe Very Sleepy doesn't pay attention to the information I mentioned and always tries to find the PDB in the same directory where the dll resides... Maybe my solution is MSVC specific... Anyway, it's great you made it work.
David Alfonso
Thanks David.. :) I am actually using MSVC++ 6.. But I'm not running my dll from the compiler output directory, that's why I needed to move/copy the pdb and map files :).. Thanks..
krebstar
You mean you had to copy the debug files to the directory where the exe is actually looking for them?
David Alfonso