Skip to main content
Olivier Beltrami
Brainiac
November 12, 2021
Answered

Using release InDesign with DEBUG version of my PLN

  • November 12, 2021
  • 1 reply
  • 1119 views

Hello,

For almost 2 years, we have been testing and debugging our PLNs in their release versions, as we could not get the debug versions to build/link, and it was still possible to run in the VS2019 debugger with breakpoints etc...

Now, we have some quiet time, and I deceided to try to get the debug version of the PLN to build and finally managed to et the debug version of my PLN to build and link.

But, when I try to use the "normal" version of InDesign to load my debug PLN, nothing happens.

Do I need to also install the DEBUG version of InDesign (yuk!) ?

Very best regards,

Olivier

Correct answer Olivier Beltrami

Yes, it seems that only the debug version of inDesign can be used with a plugin compiled in DEBUG mode 😞

1 reply

Olivier Beltrami
Olivier BeltramiAuthorCorrect answer
Brainiac
November 13, 2021

Yes, it seems that only the debug version of inDesign can be used with a plugin compiled in DEBUG mode 😞

erinferinferinf
Community Manager
Community Manager
November 15, 2021

I don't know what a PLN is in this context...

 

If you set the debug flag on the production version, does that help? You may also want to reach out to wwds@adobe.com with this question.

Brainiac
November 16, 2021

Sorry, too much jargon.

PLN is the Windows file extension for InDesign plugins.

I have bitten the bullet and installed the debug version of InDesign.

Thank you for your assistance.

Very best regards,

Olivier


Olivier, please mind the subtle differences.

 

Since several decades a plug-in is a binary executable library (Windows: dll, OSX: framework) produced from C++ sources.

 

The term plugin is an unfortunate marketing choice for something formerly known as extension, implemented in a high level scripting language such as Flex/ActionScript, CEP / Javascript or the forthcoming UXP.

 

Setting a debug flag is a concept of the latter - it disables security checks for the convenience of the developer.

 

Debug builds of plug-ins have different binary code matching differences in the debug build of the application. As you found, they are incompatible with the release build and fortunately the application checks for that.

 

The differences would be larger object sizes to support extended (slow) runtime checks, additional object methods, entire interface omitted or unfunctional in the release builds - for example services to turn numeric IDs into readable strings, or support various debug output sinks. The plug-ins also should contain extra code in macros that are optimized away by the compiler for the release build. Therefor these debug plug-ins can't run with a release build.