No source from DLL
JasonShort
Posts: 12
I have a project that has a structure like this:
\MAINDLL
\MAINDLL\TESTAPP
\MAINDLL\SVCCTRL
The testapp is a command line app that I use for testing my code.
I am trying to profile the testapp.exe (it calls the MAINDLL).
They are all part of the same solution in VS.NET 2003.
I have copied the PDB's all into the same directory, but I still never see any source code other than the testapp.
How can I get the profiler to show me the source?
\MAINDLL
\MAINDLL\TESTAPP
\MAINDLL\SVCCTRL
The testapp is a command line app that I use for testing my code.
I am trying to profile the testapp.exe (it calls the MAINDLL).
They are all part of the same solution in VS.NET 2003.
I have copied the PDB's all into the same directory, but I still never see any source code other than the testapp.
How can I get the profiler to show me the source?
Comments
I believe that the .pdb files should live alongside whatever .net assembly that they belong to in the same folder. Moving the pdb is probably a bad idea because then we don't know where to find it.
Can you try leaving them in their original locations?
I ONLY see the source file from the exe, none from the DLL. I can see their function names, and the timing, but no code.
VistaDB Managed SQL Database Engine
http://www.vistadb.net
That would be the easiest. Or if I could just open the source file browsing, and then it could read it and see what functions were in it.
VistaDB Managed SQL Database Engine
http://www.vistadb.net
VistaDB Managed SQL Database Engine
http://www.vistadb.net
If the assembly is loaded from the GAC, then you'd need to copy the .pdb to the GAC (using the command prompt because opening WINNT\Assembly in Explorer won't work: it's a 'special folder'!)
This is XP SP2 if that makes any difference...
VistaDB Managed SQL Database Engine
http://www.vistadb.net
Can you show me a DIR /S output of the TESTAPP folder?
\dirname\testapp is the executable
\dirname\ is where the main dll is built
Volume in drive C has no label.
Volume Serial Number is 2416-97CB
Directory of C:\source\emerald\SpamLibrary\TestApp
09/15/2004 05:29 PM <DIR> .
09/15/2004 05:29 PM <DIR> ..
07/11/2004 09:00 PM 279 .MySCMServerInfo
05/21/2004 08:08 AM 1,078 App.ico
05/21/2004 08:08 AM 2,426 AssemblyInfo.cs
05/06/2004 12:44 AM <DIR> bin
05/06/2004 12:44 AM <DIR> obj
09/15/2004 05:29 PM 0 test.txt
07/11/2004 09:00 PM 1,001 TestApp.cs
07/11/2004 09:00 PM 4,218 TestApp.csproj
09/15/2004 03:02 PM 1,881 TestApp.csproj.user
7 File(s) 10,883 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\bin
05/06/2004 12:44 AM <DIR> .
05/06/2004 12:44 AM <DIR> ..
09/09/2004 01:05 PM <DIR> Debug
07/04/2004 07:35 PM <DIR> Release
0 File(s) 0 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\bin\Debug
09/09/2004 01:05 PM <DIR> .
09/09/2004 01:05 PM <DIR> ..
09/15/2004 05:24 PM 73,728 SpamLibrary.dll
09/15/2004 05:24 PM 16,384 TestApp.exe
09/15/2004 05:24 PM 17,920 TestApp.pdb
3 File(s) 108,032 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\bin\Release
07/04/2004 07:35 PM <DIR> .
07/04/2004 07:35 PM <DIR> ..
07/30/2004 02:33 PM 69,632 SpamLibrary.dll
07/30/2004 02:34 PM 16,384 TestApp.exe
2 File(s) 86,016 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\obj
05/06/2004 12:44 AM <DIR> .
05/06/2004 12:44 AM <DIR> ..
09/15/2004 05:24 PM <DIR> Debug
07/30/2004 02:34 PM <DIR> Release
0 File(s) 0 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\obj\Debug
09/15/2004 05:24 PM <DIR> .
09/15/2004 05:24 PM <DIR> ..
05/05/2004 11:51 PM <DIR> temp
05/05/2004 11:51 PM <DIR> TempPE
09/15/2004 05:24 PM 16,384 TestApp.exe
09/15/2004 05:24 PM 17,920 TestApp.pdb
2 File(s) 34,304 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\obj\Debug\temp
05/05/2004 11:51 PM <DIR> .
05/05/2004 11:51 PM <DIR> ..
0 File(s) 0 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\obj\Debug\TempPE
05/05/2004 11:51 PM <DIR> .
05/05/2004 11:51 PM <DIR> ..
0 File(s) 0 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\obj\Release
07/30/2004 02:34 PM <DIR> .
07/30/2004 02:34 PM <DIR> ..
05/06/2004 12:44 AM <DIR> temp
05/06/2004 12:44 AM <DIR> TempPE
07/30/2004 02:34 PM 16,384 TestApp.exe
1 File(s) 16,384 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\obj\Release\temp
05/06/2004 12:44 AM <DIR> .
05/06/2004 12:44 AM <DIR> ..
0 File(s) 0 bytes
Directory of C:\source\emerald\SpamLibrary\TestApp\obj\Release\TempPE
05/06/2004 12:44 AM <DIR> .
05/06/2004 12:44 AM <DIR> ..
0 File(s) 0 bytes
Total Files Listed:
15 File(s) 255,619 bytes
32 Dir(s) 87,140,478,976 bytes free
VistaDB Managed SQL Database Engine
http://www.vistadb.net
I couldn't help but notice that 'SpamLibrary.pdb' is missing from the DEBUG folder. That would keep you from getting the code for that assembly, for a start...
I mentioned that above that I moved it there and it still does not work. The DLL is copied to the local directory during compile (otherwise the calling app won't find it).
Here is the application path:
\DLLPATH
\DLLPATH\TESTAPP
So of course the pdb file for the dll is in:
\DLLPATH\BIN\DEBUG
while the test app's is:
\DLLPATH\TESTAPP\BIN\DEBUG
But visual studio copies the DLL itseld to the TESTAPP's bin directory. I already tried moving the pdb to that path and it did't work. I also tried re-doing the entiure project do they are both at the same path level and that didn't work. My trial is now about to expire and I have never gotten it to work...
VistaDB Managed SQL Database Engine
http://www.vistadb.net
I had one rather wierd case where ANTS Profiler couldn't find the source code and changing the permissions to grant read/write to everyone for the folder where the code files were fixed the problem. Maybe that's worth looking into.
And then there's the old favourite; everyone doesn't have read/write to %TMP% and %TEMP%. In that case, I think that Profiler can't assemble the code and the line-level timings into the one RTF document that gets displayed in the lower window.
Since my trial is up I guess I will have to uninstall.
Thanks.
VistaDB Managed SQL Database Engine
http://www.vistadb.net
I really need a product like this, but had to uninstall the current version since I could not get it to show source, and my trial period was up.
VistaDB Managed SQL Database Engine
http://www.vistadb.net
Profiler v2 is still some weeks away. It's being thoroughly tested before release.