Hi,
it seems the sym file format for Domino 9.0 changed from version 2 to version 3. Where can we get a map2isym.exe that generates the new format version 3?
For our Domino server task (compiled with the Visual Studio C++ compiler) we produce and deliver .sym files that help to get a annotated nsd in case of a crash. To generate the .sym files we use a map2isym.exe we do no longer know where we got it from. When our server task now crashes on Domino 9.0 we get the following Warning in the nsd:
WARNING (0): Sym file (C:\Program Files\IBM\Domino\nour_server_task.sym) is version 2. The supported sym file format version for this release is 3. This sym file will be ignored.
Greetings
Reinhold
Subject: Answers
Yes the format of the sym files changed to accommodate 64 bit addresses. I’m not sure where we made the previous version available (back in 2006??) so I’ve included a zipped copy attached to this document while I figure out where to officially post it.
Subject: NSD works fine with this stripped PDB
My tests show that NSD works fine with stripped PDB files. The stack trace in the NSD shows the names of the functions executed at the time of the crash.
We will provide stripped PDBs from now on.
Thanks again for your help.
Reinhold
Subject: Use PDBs instead
The utility that Jeff posted (thank you Jeff) is no longer needed if the PDBs are installed. With Notes/Domino, the program is very large so the PDBs are huge collectively so this is why we don’t ship PDBs in the product. Sometimes we provide PDBs to customers on an individual basis while troubleshooting issues. For API Toolkit developers, you can place your PDBs right on disk and NSD will use them instead of SYM files. You will also get better diagnostic output. This hasn’t always been the case. NSD use to require SYMs but it was changed awhile ago to use PDBs first if available, SYM files second. We are going to change the message in the NSD to recommend PDBs.
Subject: Are stripped PDBs then the way to go for API Toolkit developers?
Thanks for your answers Jeff and Scott.
We had some internal discussions if we should provide the PDBs with the binaries of our product or not. The PDBs would ease finidng the cause of crashes at customer site. However, they are huge and contain information that makes reverse engineering easier. We found that there is a /PDBSTRIPPED linker switch (see /PDBSTRIPPED (Strip Private Symbols) | Microsoft Learn http://msdn.microsoft.com/en-us/library/y87kw2fd.aspx ) that produces PDB files that “omit symbols that you would not want to ship to your customers”.
So we tend to provide the stripped PDBs with the product and only give the full-blown PDBs to customers if we see no other way to find the cause of a crash.
What do you think about this approach?
We will test now if NSD works with this stripped PDB.
Subject: Where to get the new map2isym.exe ?
Hi Jeff,
Could you please provide a download link to the new version of map2isym.exe which is compatible with Domino 9.0 ? I do not see the link to the zipped copy that you had attached.
Thanks.