Как я могу узнать, сколько раз вызывалась функция при просмотре потока в Xcode?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу узнать, сколько раз вызывалась функция при просмотре потока в Xcode?

Сообщение Anonymous »

В Xcode он показывает мне поток с плохим доступом к памяти, но мне нужен способ узнать, сколько раз циклы/функции на этом пути были успешно вызваны до этой точки из любой более ранней части этого потока.< /p>
Например, если у меня есть связанный список, включающий функцию:

Код: Выделить всё

class LinkedList{

public:

add(int val){
Node* added = new Node(val);
if (first != nullptr) added->next = first;
first = added;
}

LinkedList(){
first = nullptr;
}

Node first;

class Node{
Node next;
int val;
Node(int val){
this->val = val;
}
}

int findVal(int n) {
return recursiveSearch(first,n);
}

int recursiveSearch(Node* current, int n){
if (current->val == n) return current;
return recursiveSearch(current->next, n);
}
}
Скажем, у меня есть основная функция, инициализирующая связанный список, а затем ищу в нем значение, которого нет в списке, это выдаст мне ошибку неправильного доступа к памяти.

Код: Выделить всё

int main(int argc, const char * argv[]) {
LinkedList* ls = new LinkedList();
for (int i = 0; i < n;i++){
ls->add(i);
}
for (int i = 0; i < n+1;i++){
std::cout  ls.findVal(i) -> LinkedList::findVal -> LinkedList::recursiveSearch -> current->val. 
Но как я могу также отобразить, что цикл выполнялся с вызовом ls.findVal() n раз, прежде чем время n+1 его прервало?
Более того, есть ли способ отслеживать все итерации каждой из моих функций, чтобы увидеть, какие значения переменных были во время каждой из них, без необходимости вручную помещать в мой код массу операторов печати? Чтобы он перечислял каждый отдельный вызов по порядку на протяжении всего процесса до ошибки, начиная с самого начала, не пропуская успешно возвращаемые функции?
и дополнительный вопрос-> Есть ли способ отслеживать переменные или структуры данных сами по себе, чтобы они отображали историю обновления этого типа данных? 

Подробнее здесь: [url]https://stackoverflow.com/questions/79135698/how-can-i-see-how-many-times-a-function-has-been-called-when-viewing-a-thread-in[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»