Jump to content


Photo

Stepping into Paint.NET's code/detailed log?


  • Please log in to reply
2 replies to this topic

#1 r2d2rigo

r2d2rigo
  • Newbies
  • 7 posts
  • Reputation:1

Posted 31 July 2012 - 12:28 AM

Hello,

I'm in the process of updating a filetype plugin that uses a external library for some data decoding. In the old version the library was just a C# wrapper over a native DLL, but I'm trying to change it to a C++/CLI wrapper of the static version of the library and get rid of the extra dependency. The problem is that as soon as I try to open a sample file and Paint.NET starts loading the filetype DLL, it shows a "The file could not be found" error message box.

The GetFileTypeInstances() method and filetype constructor execute without a problem, but there's some code between that and OnLoad that can't be stepped into. So, is there any way to know what it's trying to load and why?

Cheers.

#2 Rick Brewster

Rick Brewster

    Paint.NET Author and Developer

  • Administrators
  • 12,567 posts
  • LocationKirkland, WA
  • Reputation:120

Posted 31 July 2012 - 12:37 AM

In Visual Studio, go to the Debug menu -> Exceptions. In the dialog, make sure that the "Thrown" checkbox for "Common Language Runtime Exceptions" is checked. This may help...

But in general, no. You can't step through Paint.NET code. You can use Reflector to get a better view of it though. And actually I think they have a VS plugin that helps with debugging, so maybe that first sentence isn't accurate.
The Paint.NET Blog: http://blog.getpaint.net/
Donations are always appreciated! http://www.getpaint.net/donate.html

Posted Image

#3 r2d2rigo

r2d2rigo
  • Newbies
  • 7 posts
  • Reputation:1

Posted 31 July 2012 - 10:44 PM

Thanks Rick, I always forget that dialog exists! The C++/CLI library was being compiled as x86 and the plugin crashed with a BadImageFormatException when trying to load it in a 64-bit system. It's fixed now!

Edited by r2d2rigo, 31 July 2012 - 10:44 PM.