• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Cannot debug Sample Plug-in - Exception thrown: read access violation

Community Beginner ,
Aug 11, 2017 Aug 11, 2017

Copy link to clipboard

Copied

Hi,

I'm trying to debug the sample HelloWorld plug-in as explained under the "Create a Windows Plug-in" section the "Getting Started Guide". I successfully built the plug-in using the x86 configuration and copied it over to the Adobe Plug-ins folder. Now, when I run Debug, I get a Read Access Violation error. Below is a step-wise illustration:

debug1.PNG

  1. The if statement at line 21 initially gives back false, probably since kSPInterfaceCaller is undefined or empty. debug2.PNG
  2. The end if is reached and gives the above message: "Illustrator.pdb not loaded".debug3.PNG
  3. The if condition executes once more and this time returns true. However, the sAIUnicodeString variable still holds NULL, perhaps because sSPBasic->AcquireSuite() failed. debug4.PNG
  4. Since sAIUnicodeString is NULL, a Read Access Violation is thrown.

Can you please identify the cause of this issue. I haven't changed anything in the code and am using VS 2017 on a Windows 10 VirtualBox.

Thank you,

Samee.

TOPICS
SDK

Views

1.0K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Guide , Aug 11, 2017 Aug 11, 2017

Just read the thread you linked (missed it initially) and it concurs with me You're using CS6, but you're probably using the latest SDK (CC 2017). You should find a Version.txt or Readme.txt in the root of the SDK folder, and it should indicate for which version the SDK you're using is for.

Assuming it's the CC SDK, you need to go get the CS6 SDK from here:

Adobe Illustrator SDKs | Adobe Developer Connection

Votes

Translate

Translate
Adobe
Guide ,
Aug 11, 2017 Aug 11, 2017

Copy link to clipboard

Copied

  1. The entry point is called many, many times over the life of a plugin depending on how complex the plugin is. I very much doubt kSPInterfaceCaller is empty or undefined because it's a constant defined in the SDK. Most likely, caller is something else. You should be able to see it's value in the debugger (You should use the Autos window BTW, so you don't have to type out the variables to watch every time).
  2. That's because you don't have a PDB for Illustrator; i.e., you didn't build it, so you can't see inside any of the SDK calls.
  3. You're probably correct on this count. To verify, what is the error variable's value after it attempts the AcquireSuite call for sAIUnicodeString?

If the value is zero, it's claiming it worked, but we both know that's probably not what you'll find. The value may point to the reason, as the code can be very illuminating, if we're lucky.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 11, 2017 Aug 11, 2017

Copy link to clipboard

Copied

The error number returned is 1394689636 for these 2 calls:

error = sSPBasic->AcquireSuite(kAIUserSuite, kAIUserSuiteVersion, (const void**)

&sAIUser);

error = sSPBasic->AcquireSuite(kAIUnicodeStringSuite, kAIUnicodeStringSuiteVersion, (const

void**)&sAIUnicodeString);

and 0 for this call:

error = sSPBasic->AcquireSuite(kSPBlocksSuite, kSPBlocksSuiteVersion, (const void**)

&sSPBlocks);

which make sense since both sAIUser and sAIUnicodeString hold null after the call, whereas sSPBlocks holds a non-null value. So regarding the above error, I found this thread:

AICSXSExtensionSuite error 1394689636

I'm using Adobe Illustrator version 16.0.0 (both 32 and 64 bit). Could this version be the cause, if so is there a workaround?

Thanks.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Aug 11, 2017 Aug 11, 2017

Copy link to clipboard

Copied

Okay, so 1394689636 is 0x‭53214664‬ which is 0x53 0x21 0x46 0x64, which on an ASCII table is 'S!Fd'.

From that I'd conclude with a fair bit of certainty that you're using the wrong SDK for that version of Illustrator. Illustrator ships suites of functions, and my guess is kUnicodeStringSuiteVersion & kSPBlocksSuiteVersion are both either too high (more likely) or too low than the one shipped with the Illustrator you're running against.

I have to go home for the weekend now, but if you can't figure it out over the weekend, I'll look in on Monday and see if we can figure out which it is.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Aug 11, 2017 Aug 11, 2017

Copy link to clipboard

Copied

Just read the thread you linked (missed it initially) and it concurs with me You're using CS6, but you're probably using the latest SDK (CC 2017). You should find a Version.txt or Readme.txt in the root of the SDK folder, and it should indicate for which version the SDK you're using is for.

Assuming it's the CC SDK, you need to go get the CS6 SDK from here:

Adobe Illustrator SDKs | Adobe Developer Connection

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Aug 13, 2017 Aug 13, 2017

Copy link to clipboard

Copied

LATEST

Yes. I downloaded and installed Adobe Illustrator 2017 32 bit and it's working now. Thank you very much.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines