Я запускаю 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();
}
}
Вы должны использовать старую версию ltrace
,
Он работает, как и ожидалось, с последними версиями (не ниже 0.7.3 и выше).
Других решений пока нет …