Bitness

Fiddler 2.2.6.0+ is compiled with a target of AnyCPU, meaning that it will run as a 64bit process in 64bit Windows, and as a 32bit process in 32bit Windows. You can easily tell what bitness Fiddler2 is running with; simply click Help > About, and the information will be displayed in the dialog box.

Generally, 64bit Fiddler works great, and makes "Out of memory" errors (which are really "Out of contiguous address space" errors) a thing of the past.

However, if you happen to have written an Inspector or Fiddler Extension which hosts a web browser control, you will find that your extension is hosting the 64bit browser control. That, in turn, means that if your browser control hosts an ActiveX control that is only available in 32bit (e.g. Flash 10, Silverlight 3, etc), that ActiveX control will not load when running in 64bit Fiddler.

Your extension can determine whether the Fiddler2 process is running in 32bit mode with the following simple test:

string sBitness = (8==IntPtr.Size) ? "64-bit Edition" : "32-bit Edition",

One way to resolve any bitness-mismatch problems is to force Fiddler to run in 32bit mode, even on a 64bit system.

In new versions (2.2.7.1+) of Fiddler, you can simply run the ForceCPU tool included with Fiddler, from an elevated/admin command prompt:

ForceCPU.exe X86

or undo:

ForceCPU.exe any

Older installs of Fiddler do not include ForceCPU.exe. You can (should) upgrade, or use CorFlags.exe tool installed with Visual Studio.

Simply run the following command from an elevated command prompt:

corflags /32bit+ "C:\program files (x86)\fiddler2\fiddler.exe"

Note that, because this command alters the binary, the Authenticode digital signature on the executable will become invalid. However, unless you go looking for the signature information, you're unlikely to ever notice.

See http://www.request-response.com/blog/PermaLink,guid,cf345d71-cdc7-46b9-8c1c-eb21581a9222.aspx for more discussion of CorFlags.exe.

Note, the FiddlerCore library is bitness-agnostic. If your hosting application is running in 64bit mode, FiddlerCore will run in 64bit mode. If it's targeted to a specific CPU (e.g. x86) then FiddlerCore will run in that mode.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License