вызов функции с 2 строковыми аргументами сбой - PullRequest
0 голосов
/ 22 апреля 2020

Я немного затрудняюсь, пытаясь вызвать функцию, имеющую 2 строковых аргумента.

Функция вызывает нормально и передает ей 2 строковый аргумент, но как только она возвращается, я получаю исключение : нарушение прав чтения.

Способ, которым я звоню, работает и не обрабатывает sh, если у меня только один аргумент

API int functionWithString(std::string a, std::string b)
{
    std::cout << "Function called with parameters: " << a.c_str() << std::endl;
    return 4;
}

48 83 EC 10                      sub    rsp, 0x10
48 BA F8 FF AD 01 75 01 00 00    movabs rdx, 0x17501adfff8 "first string"
48 B9 F8 FF C0 01 75 01 00 00    movabs rcx, 0x17501c0fff8 "second string"
48 B8 9A 11 20 86 F6 7F 00 00    movabs rax, 0x7ff68620119a
FF D0                            call   rax
48 83 C4 10                      add    rsp, 0x10
A3 00 00 D6 01 75 01 00 00       movabs dword ptr [0x17501d60000], eax
C3                               ret
...