DebugShell can interpret most of C++ sentence, including virtual function, virtual inherit, overload, type conversion, etc. Unsupported characteristics are listed as below:
1. Only support functions and variables in project. Do not support the function and variable of DLL.
2. Do not support member function which is not referred. If a member function of a class is not referred in project, the function will be eliminated by VC when compiling. Thus it can not be called by debugShell. But global function will not be eliminated by VC even it is not referred.
3. Support C style type conversion. Do not support C++ type convert operator.
Type conversion follows the way as (int)var. Do not support int(var).
Explicitly specify pointer type in conversion of base class and inherit class. Do not support default conversion.
4. Do not support enumeration, union, multiple dimensions array. If accessing multiple dimensions array, need to convert to 1-array to operate.
5. Do not support new,delete,.*,->*,',' (comma operator). Do not support overload to ().
6. Do not support user defined variable.
7. Do not support const, static, mutable, volatile.
8. Do not support default parameter. Default parameter of function should be input mannually.