Unable to set breakpoints on functions exported from DLL's

0 Likes

Problem:

I am unable to set breakpoints on functions exported from DLL's with the __stdcall declspec.

For example setting a breakpoint on function DoSomething works:

    bpx DoSomething

Setting a breakpoint on function _DoSomething@4 doesn't.

    bpx _DoSomething@4 fails

    bpx _DoSomething fails

    bpx DoSomething fails

    bpx module!DoSomething fails

    using quotes fail, etc.

The error I see is "Symbol not defined" although it appears with the exp keyword.

Can breakpoints be set on __stdcall api's?  An examination of dlls in the system32 directory will provide plenty of examples.

This is the default exporting performed by the Microsoft compiler unless overriden with a Def file.

Resolution:

This is a known issue.  The problem here is that SoftICE is interpreting the "@" as an operator and not as a part of the symbol name.  There is no resolution to this yet and we don't have a timeframe for when one will be available.

In the meantime you can workaround this by just passing the address of the symbol to the BPX command instead of the symbol name itself.

Old KB# 11703
Comment List
Anonymous
Related Discussions
Recommended