Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// Code de base
- int a()
- {
- printf("aaaaaaaaaaa\n");
- return 1;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- try
- {
- MockRepository mocks;
- mocks.ExpectCallFunc(a).Return(2);
- a();
- }
- catch (std::exception &e)
- {
- printf("%s\n", e.what());
- }
- return 0;
- }
- Dessamblé en debug la partie interessante dans le main
- try
- {
- 00412641 mov dword ptr [ebp-4],0
- MockRepository mocks;
- 00412648 lea ecx,[mocks]
- 0041264E call HippoMocks::MockRepository::MockRepository (41190Bh)
- 00412653 mov dword ptr [ebp-184h],eax
- 00412659 mov byte ptr [ebp-4],1
- mocks.ExpectCallFunc(a).Return(2);
- 0041265D mov eax,dword ptr [`wmain'::`2'::__LINE__Var (433004h)]
- 00412662 add eax,4
- 00412665 push eax
- 00412666 push offset string "d:\\ambroise\\d\xe9veloppement\\dll_es"... (42D918h)
- 0041266B push offset string "%d\n" (42D914h)
- 00412670 mov ecx,dword ptr [Once+4 (433684h)]
- 00412676 push ecx
- 00412677 mov edx,dword ptr [Once (433680h)]
- 0041267D push edx
- 0041267E push offset a (4115B9h)
- 00412683 lea ecx,[mocks]
- 00412689 call HippoMocks::MockRepository::RegisterExpect_<0,int> (41168Bh)
- 0041268E mov dword ptr [ebp-184h],eax
- 00412694 push 2
- 00412696 mov ecx,dword ptr [ebp-184h]
- 0041269C call HippoMocks::TCall<int,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType,HippoMocks::NullType>::Return (4117FDh)
- a();
- 004126A1 call a (4115B9h)
- }
- La même en release
- try
- {
- MockRepository mocks;
- 0040240B lea eax,[ebp-64h]
- 0040240E xor ebx,ebx
- 00402410 push eax
- 00402411 mov dword ptr [ebp-4],ebx
- 00402414 call HippoMocks::MockRepository::MockRepository (401940h)
- 00402419 mov byte ptr [ebp-4],1
- mocks.ExpectCallFunc(a).Return(2);
- 0040241D mov ecx,dword ptr [HippoMocks::base_tuple `RTTI Type Descriptor'+34h (407320h)]
- 00402423 mov edx,dword ptr [HippoMocks::base_tuple `RTTI Type Descriptor'+30h (40731Ch)]
- 00402429 push ecx
- 0040242A push edx
- 0040242B lea eax,[ebp-64h]
- 0040242E push eax
- 0040242F call HippoMocks::MockRepository::RegisterExpect_<0,int> (403890h)
- 00402434 push 8
- 00402436 mov esi,eax
- 00402438 call operator new (403F68h)
- 0040243D add esp,4
- 00402440 cmp eax,ebx
- 00402442 je main+73h (402453h)
- 00402444 mov dword ptr [eax],offset HippoMocks::ReturnValueWrapper<int>::`vftable' (405468h)
- 0040244A mov dword ptr [eax+4],2
- 00402451 jmp main+75h (402455h)
- 00402453 xor eax,eax
- a();
- 00402455 push offset string "aaaaaaaaaaa\n" (4052FCh)
- 0040245A mov dword ptr [esi+4],eax
- 0040245D call dword ptr [__imp__printf (405120h)]
- 00402463 add esp,4
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement