On 2/21/06, William A. Rowe, Jr. <[EMAIL PROTECTED]> wrote:
> One most confusing thing is that MS actually has two -different- pdb
> files.  One is a source program database, one is an executable program
> database.  You want to locate the one with a name matching your .dll
> files into the same location as the .dll that your application loads.
> You also want to ensure that /ZI or /Zi is used to compile your app,
> and /debug given to linking your app, so that you can unwind the stack
> from the library into your app.  Finally, it also helps to turn off
> optimization (/Od to the compiler) to make stacks more readable, and
> I personally throw out the /Oy flag (/Oy- to force this) no matter what.
> That flag causes the compiler not to build neat stack frames out of some
> twisted desire for efficiency.  Even my release builds are /Zi /O2 /Oy-
> to get all the optimizations but with stack frames and .pdb results,
> and then linked with /debug /opt:ref.

The only thing that /Oy will help is if you have what should really be
an inlined function, and then only one PUSH instruction.  It's akin to
the gcc option -fomit-frame-pointers, and I honestly believe that it
should never have been allowed in any ABI.

-Kyle H
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to