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:
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.
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.