Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need Debug Symbol (PDB) for Windows platform #5696

Closed
kexuelou opened this issue Mar 14, 2016 · 17 comments
Closed

Need Debug Symbol (PDB) for Windows platform #5696

kexuelou opened this issue Mar 14, 2016 · 17 comments
Labels
build Issues and PRs related to build files or the CI. feature request Issues that request new features to be added to Node.js. post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. windows Issues and PRs related to the Windows platform.

Comments

@kexuelou
Copy link

Hey Guys,
Just noticed node.pdb was not shipped with the official node release. Can we please bring this back?

This is extremely helpful for postmortem debugging node application on windows platform. I don't like to build whole node because just want the PDB file.

thanks,
Wei

@mscdex mscdex added windows Issues and PRs related to the Windows platform. post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. labels Mar 14, 2016
@mscdex
Copy link
Contributor

mscdex commented Mar 14, 2016

/cc @nodejs/build

@mscdex mscdex added the build Issues and PRs related to build files or the CI. label Mar 14, 2016
@rvagg
Copy link
Member

rvagg commented Mar 14, 2016

We haven't shipped this since io.js v1, including Node.js v4 and v5 and this is the first complaint. I'd like to understand how useful this file really is. /cc @nodejs/platform-windows

@ofrobots
Copy link
Contributor

It is useful to have the pdb symbol files available for debugging. If the installer size is a concern, we could make the pdb files separately downloadable.

@jbergstroem
Copy link
Member

What size are we talking about?

@davidebbo
Copy link

I don't think the PDBs should be included in the main installer. But it would indeed be useful to have them available as a separate download. e.g. they could be dropped in https://nodejs.org/dist/v5.8.0/win-x86/ (and x64).

@whitlockjc
Copy link
Contributor

I've not been on Windows in a while but last I remember, some installers gave you the option to install PDBs or not while going through the installation wizard. I think that would be ideal, the option to choose. Now if omitting PDBs has been done due to saving some download size, this suggestion would violate that and would likely not be a good suggestion. Like @jbergstroem, I too would be interested in knowing the size impact for including the PDBs both for on-disk and over the wire.

@bnoordhuis
Copy link
Member

The PDB for v0.12.12 is about 32 MB. I wager that makes it too big to ship as an optional part of the installer but it could be made available as a separate download.

Looking at common.gypi, I think we still generate it as part of the build, we just don't distribute it anymore ('DebugInformationFormat': 3, which translates to /Zi.) I don't have a Windows machine on hand to test but there should be a Release/node.exe.pdb after a successful build.

@joaocgreis
Copy link
Member

The PDB for current master is 62 MB (compresses to 17 MB zip and 11 MB 7z).

@ofrobots
Copy link
Contributor

Actually, if we are doing this, we should generalize this to other platforms too (see: https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html).

@kexuelou
Copy link
Author

This is required specially for post mortem debugging. Another concern here is even I build nodejs myself, I can't find the v8dbg_* symbols which is helpful for debugging jscript objects.

@jbergstroem
Copy link
Member

I don't Windows much but I'd argue that file size suggests a separate download.

@davidebbo
Copy link

@jbergstroem agreed, separate download is the way to go.

@jasnell jasnell added the feature request Issues that request new features to be added to Node.js. label Apr 4, 2016
@saper
Copy link

saper commented Apr 4, 2016

I needed PDB's too, so I have used an excellent @appveyor service to build node with PDB.

Here are my changes needed to support that.

Of course @nodejs is not going to use appveyor.yml, but I think they could use my vcbuild.bat changes.

One important thing: Before launching vcbuild.bat I am creating an S: substed drive, so that all source paths refer to S:\node\.... according to a very good suggestion (archive.org mirror). Not sure if this feature should a part of vcbuild.bat or maybe it should be included in the build infrastructure the nodejs is using.

I have built node engines with VC2013 and VC2015 successfully and PDBs appear to work properly. My artifacts can be downloaded from ftp://ftp.saper.info/incoming/node/builds/ and here are the build logs.

@daniel-white
Copy link

Is there any way that I can get the pdbs for v4.4.1 or do I have to build my own node.exe? 32-bit node is crashing for me and I'd like to investigate why.

joaocgreis pushed a commit to JaneaSystems/node that referenced this issue May 13, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Fixes: nodejs/build#299
Fixes: nodejs#5696
Fishrock123 pushed a commit that referenced this issue Jun 1, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: #5995
Fixes: nodejs/build#299
Fixes: #5696
rvagg pushed a commit that referenced this issue Jun 2, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: #5995
Fixes: nodejs/build#299
Fixes: #5696
@rvagg
Copy link
Member

rvagg commented Jun 8, 2016

available as of the latest v6 release https://nodejs.org/download/release/latest-v6.x/

joaocgreis pushed a commit to JaneaSystems/node that referenced this issue Jul 5, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: nodejs#5995
Fixes: nodejs/build#299
Fixes: nodejs#5696
MylesBorins pushed a commit that referenced this issue Jul 8, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: #5995
Fixes: nodejs/build#299
Fixes: #5696
MylesBorins pushed a commit that referenced this issue Jul 11, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: #5995
Fixes: nodejs/build#299
Fixes: #5696
MylesBorins pushed a commit that referenced this issue Jul 12, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: #5995
Fixes: nodejs/build#299
Fixes: #5696
MylesBorins pushed a commit that referenced this issue Jul 14, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: #5995
Fixes: nodejs/build#299
Fixes: #5696
MylesBorins pushed a commit that referenced this issue Jul 14, 2016
Add a step in vcbuild.bat to create a minimal package including node
and npm that can be used as an alternative to the MSI.

Compress the node.pdb file as zip and 7z.

All files are uploaded as part of build-release.

Reviewed-By: Joao Reis <reis@janeasystems.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <orangemocha@nodejs.org>
PR-URL: #5995
Fixes: nodejs/build#299
Fixes: #5696
@AArnott
Copy link

AArnott commented Nov 21, 2017

@rvagg I can't find the PDB at the link you provided. Where can we find the pdb for the official node 6.4 distribution for win-x86? We have a lot of crash dumps and we need the PDB to see the full callstacks to see why it's crashing.

@rvagg
Copy link
Member

rvagg commented Nov 21, 2017

@AArnott it's in the win-x64 or win-x86 directories, take your pick from:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. feature request Issues that request new features to be added to Node.js. post-mortem Issues and PRs related to the post-mortem diagnostics of Node.js. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

No branches or pull requests