This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Debug builds for Windows would be very helpful
Type: enhancement Stage:
Components: Build, Windows Versions: Python 2.7
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: amaury.forgeotdarc, brian.curtin, ezio.melotti, jackjansen, loewis
Priority: normal Keywords:

Created on 2011-03-23 22:52 by jackjansen, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (9)
msg131934 - (view) Author: Jack Jansen (jackjansen) * (Python committer) Date: 2011-03-23 22:52
Because VC++ cannot cross-link modules that have been built with debugging to those built without debugging (because of runtime system differences) it would be a boon for people embedding Python if there was a binary distribution of the DLL (and .lib) available that was built with debugging turned on.

Right now, to build a debugging version of an application that has Python embedded you must also build Python from source...
msg131937 - (view) Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) Date: 2011-03-23 23:10
But for a debug build to be really useful, the source code must be available to the debugger.
Compiling these source files is really a matter of minutes... provided that external dependencies are all present and also compiled in debug mode.
msg131938 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2011-03-23 23:13
I believe there was a previous request for this which was rejected, likely for reasons Amaury listed.
msg131939 - (view) Author: Jack Jansen (jackjansen) * (Python committer) Date: 2011-03-23 23:14
Sorry, I think I wasn't clear in my original message. I don't want to debug Python, I want to debug only my own code. But because it embeds Python I cannot debug my own code, because it needs to link to Python.

Indeed, if it was only Python itself I would have build from source it would not be so much of an issue, but there's all the external stuff...

Brian: if you have a reference I can check the reasoning.
msg131945 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-03-23 23:57
Jack: what's the issue with the external dependencies? Just run Tool/buildbot/external.bat (or external-amd64.bat, or external-common.bat), and be done.

If you merely want to debug your extension modules, I recommend *not* to turn on Py_DEBUG, but only enable generation of debug information in the VS project.

In any case, I'm not willing to provide binary Py_DEBUG builds. So unless somebody else steps forward to volunteer, I close this as "won't fix".
msg131971 - (view) Author: Jack Jansen (jackjansen) * (Python committer) Date: 2011-03-24 12:07
Martin, I agree about the Py_DEBUG issue. My reason for asking is really only a workaround for the VC++ problam that you can't link non-debug and debug builds together.

You know what: if you think it isn't worth it just assign it to me and I'll try to go the extra step of doing the work and providing a patch.
msg132037 - (view) Author: Martin v. Löwis (loewis) * (Python committer) Date: 2011-03-24 21:42
> Martin, I agree about the Py_DEBUG issue. My reason for asking is
> really only a workaround for the VC++ problam that you can't link
> non-debug and debug builds together.

Please understand that this is factually incorrect, if, by "debug
build" you mean "build with debug symbols".

> You know what: if you think it isn't worth it just assign it to me
> and I'll try to go the extra step of doing the work and providing a
> patch.

Not sure what a patch might help. It's the effort of actually releasing
the files that I want to avoid.
msg132054 - (view) Author: Jack Jansen (jackjansen) * (Python committer) Date: 2011-03-24 23:26
Martin, what I meant by "linking debug and non-debug builds together is impossible" is "you cannot link modules together if they code generation has been set to different runtime systems, for example one module using the debug runtime system and another using the non-debug runtime system".

But: let's cut this short, if this isn't worth the extra load on the release manager then it isn't worth pursuing. I did the work for myself (and co-developers, more importantly) but then I won't try and shape things up for more general consumption.
msg184135 - (view) Author: Ezio Melotti (ezio.melotti) * (Python committer) Date: 2013-03-14 07:16
Can this be closed then?
History
Date User Action Args
2022-04-11 14:57:15adminsetgithub: 55865
2013-03-14 13:14:16loewissetstatus: pending -> closed
resolution: wont fix
2013-03-14 07:16:07ezio.melottisetstatus: open -> pending
nosy: + ezio.melotti
messages: + msg184135

2011-03-24 23:26:46jackjansensetmessages: + msg132054
2011-03-24 21:42:09loewissetmessages: + msg132037
2011-03-24 12:07:37jackjansensetmessages: + msg131971
2011-03-23 23:57:15loewissetmessages: + msg131945
2011-03-23 23:14:53jackjansensetmessages: + msg131939
2011-03-23 23:13:12brian.curtinsetnosy: + loewis, brian.curtin
messages: + msg131938
2011-03-23 23:10:31amaury.forgeotdarcsetnosy: + amaury.forgeotdarc
messages: + msg131937
2011-03-23 22:52:11jackjansencreate