Using the Edit and Continue debugging feature in MSVC++, is very useful in increasing productivity, by allowing small code changes during a debugging session. What are its drawbacks, in comparison to using "regular" PDBs?
Asked
Active
Viewed 75 times
0
-
I'm not sure what the link between edit & continue and PDBs is... Care to expand on that? (What I mean is, to me these 2 are orthogonal concepts, there is no A vs B) – Borgleader Oct 05 '17 at 13:22
-
To use Edit and Continue, it must be enabled by switching the debugging information format in the project properties. The default format is Program Database (PDB), so I would assume this somehow modifies the PDB, eg. an Edit-and-Continue PDB is not the same as a "regular" PDB. – MuertoExcobito Oct 05 '17 at 13:29
-
1You are comparing two very different unrelated things. There is no drawback in using Edit and Continue. Just use it and be happy. – Jabberwocky Oct 05 '17 at 13:37
-
Edit and Continue requires that there are some extra spaces in the executable, so you can add more code without relinking everything. Presumably some info about these "spares" has to be stored somewhere. So files get larger. – Bo Persson Oct 05 '17 at 13:38
-
There is only one I can think of. It makes the stack frames a lot bigger so you have space to add local variables. So if you have deeply recursive code then you get to find out quicker how this web site got its name. The "extra spaces" corner is actually because of the linker's /incremental option. Which is useful for fast linking first, but E+C needs it too. – Hans Passant Oct 05 '17 at 13:43
-
@BoPersson/@HansPassant - your comments together seem like a reasonable answer. Although, it seems like a pretty small drawback. Curious that E+C isn't enabled by default. – MuertoExcobito Oct 05 '17 at 13:46