Welcome to the community of InDesign plugin development. Well your questions are justified as they seem to confuse a person when starting. So here are the answers
- InDesign application is shipped with a special version called the debug build for developers. This build is really helpful while debugging as it gives a lot more debugging help like asserts on things coded wrong or failing stuff. This aids in the development process. You can get hold of the debug build by joining the prerelease program. With all this said, if one is decently experienced with plugin development of InDesign he can always debug his code using the release version of InDesign (the version that is released for all to use). You just need to build your plugins with debug symbols generated. However if you are stuck on an issue that seems to be beyond your comprehension, debug build of InDesign would surely aid in debugging such issue.
- Adobe releases a new SDK version with every major release of InDesign. The plugins created with these sdk's are not compatible with each other, i.e. plugin compiled with one version of SDK say 2017 would not load on InDesign 2018. The major reason for this is that generally with each major release of InDesign version and corresponding sdk, the IDE along with the libraries are changed and hence it becomes incompatible with the older version. Also each new version of sdk also has changes in the api and/or also the way things were done, so it might be a case that the api you were using does not exist anymore or an interface has been removed altogether. Hence with each major release of InDesign we need to port our plugins using the new sdk, this can be a time consuming process in itself depending upon the complexity of your plugin, the way your project is setup and also the magnitude of changes done in the new version of sdk
Hope this clears out your confusion
firstly, thanks for the both swift and detailed response. Very helpful!
There is one extra question based on your first answer.
I don't think I'll need the debug build from what you said, but I like to have all the weapons I can to hand before I start.
I am a member of the prerelease program so I went here Adobe Prerelease and was redirected from there to Adobe I/O Console - I see the SDK, Scripting, ITK, but no debug build. Do I need to copy the .dSYM files from the ITK download into the current 2018 build to make it debuggable? If so, where should they be going? I wrote a bash script to place each dSYM file beside its corresponding file inside the InDesign install but that didn't help - I got the same error message about needing a debug build when using the SDK samples. Any guidance you can provide is greatly appreciated!
If you are a member of Adobe Prerelease then join the InDesign CC Developers Prerelease program. There you would have access to the latest Debug builds right on the landing page.
thank you very much for giving up your time, I am able to access :
InDesign CC Prerelease
InDesign Family SDK Download Program
but I am awaiting authentication for :
InDesign CC Developers Prerelease
and that is where I will be able to get the debug build I gather.
OK, this is making more sense now.