У меня есть метод C ++, такой как:
bool MyClass::Foo(char* charPointer)
{
return CallExternalAPIFunction(charPointer);
}
Теперь у меня есть какой-то статический метод где-то еще, такой как:
bool MyOtherClass::DoFoo(char* charPointer)
{
return _myClassObject.Foo(charPointer);
}
Моя проблема в том, что мой код ломается в этот момент. Он не выходит из приложения или чего-либо еще, он просто не возвращает никакого значения. Чтобы попытаться определить проблему, я прошел по коду с помощью отладчика Visual Studio 2010 и заметил нечто странное.
Когда я захожу в функцию DoFoo
и наводю курсор мыши на charPointer
, я фактически вижу значение, с которым она была вызвана (строка IP-адреса в данном случае). Однако, когда я вхожу в Foo
и наведя курсор на charPointer
, ничего не появляется, и внешний вызов функции API никогда не возвращается (как будто он просто перешагнул), и моя программа возобновляет свое выполнение после вызова DoFoo
.
Я также пытался использовать функцию Exception...
в отладчике VS (для получения исключений первого шанса), но он никогда ничего не обнаруживал.
Случалось ли это с кем-нибудь? Я что-то не так делаю?
Спасибо.