ltrace: ошибка вложения вызова

Я запускаю ltrace -c -C ./a.out, чтобы выполнить некоторое профилирование моего приложения, но выдает следующую ошибку:

Ошибка: слишком глубокое вложение!

мой код очень прост как

void StrinstrTest(long loop/*4000*/)
{

        std::string s("SS");
        double price = 90;
        double b = 90;
        double a= 90;
        int msize = 19;
        std::string first("FIRST");
        for(int i = 0 ; i<loop; i++)
        {
                std::stringstream ss;
                ss << "Hi "
                 << 'D' << s << 'D' << price
                 << 'D' << msize << endl;
                {
                     ss << 'D' << first << 'D'
                     << b<< 'D' << a;


                }
                string s = ss.str();
        }
}

1 ответ

Вы должны использовать старую версию ltrace,

Он работает, как и ожидалось, с последними версиями (не ниже 0.7.3 и выше).

Другие вопросы по тегам