Visual Studioデバッガ(VS 2015とVS 2017をチェックしました)は、コンストラクタと代入演算子をスキップしているようです。私は次のコードVSデバッガがベースクラスのctorsをスキップします
#include <iostream>
struct B
{
B() { std::cout << "ctor"; }
};
struct S : B { };
int main()
{
S s1;
return 0;
}
で新しいC++のWin32コンソールアプリケーションプロジェクトを作成した場合、私はBにステップことはできません:: B()、「ctorのは、」印刷とデバッガがに移行する「戻り0;」ライン。解体には(「ソース利用できません」)任意のソースに起因されていないコードの一部が続いている「S :: S(01713D4h)コール」:
00E51DF0 push ebp
00E51DF1 mov ebp,esp
00E51DF3 sub esp,0CCh
00E51DF9 push ebx
00E51DFA push esi
00E51DFB push edi
00E51DFC push ecx
00E51DFD lea edi,[ebp-0CCh]
00E51E03 mov ecx,33h
00E51E08 mov eax,0CCCCCCCCh
00E51E0D rep stos dword ptr es:[edi]
00E51E0F pop ecx
00E51E10 mov dword ptr [this],ecx
00E51E13 mov ecx,dword ptr [this]
00E51E16 call B::B (0E51389h)
をどのように私はBに足を踏み入れることができます。 :B()(ブレークポイントを使用しない)?
私は開発コミュニティサイトから電子メール警告を受け取りました。あなたのコメントを追加して、この問題について議論することもできます:) –