Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
3 / 3 / 0
Регистрация: 09.01.2012
Сообщений: 28
1

Проблема с gdb.

09.01.2012, 15:30. Показов 1166. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток!

Пишу я одну программулину, в которой используется такая функция:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
void reduction_nearly_triangle (double *A, int n)
{
    int k;
    int j;
    double s = 0.;
    double norm_a1 = 0.;
    double norm_x  = 0.;
    double *x;
    x = new double [n];
    for (k=0; k<=n-3; k++)
    {
        s=0.;
        
        for (j=k+1; j<=n-1; j++) s += A[j*n+k]*A[j*n+k];
        
        norm_a1 = sqrt(A[k*n + k] + s);
 
        for (j=0; j<=n-k-1; j++)                                // watch this!
        {
            if (j==0)
            {
                x[j] = A[(k+j)*n + k] - norm_a1;
                norm_x = sqrt(x[0]*x[0] + s);
            }
            else x[j] = A[(k+j)*n + k - 1];
            printf("%.2f   ",x[j]);
            if (norm_x > 0) x[j] /= norm_x;
            
        }
        printf("\n\n");
    }
    delete [] x;
    printf("Matrix reduction to the nearly triangle form finished.\n");
}
При компиляции и запуске всё работает нормально, но при пошаговой отладке в gdb, доходя до строчки
C++
1
norm_x = sqrt(x[0]*x[0] + s);
отладчик выдаёт поток ругани:
Bash
1
2
3
__sqrt (x=28) at w_sqrt.c:35
35  w_sqrt.c: Нет такого файла или каталога.
    in w_sqrt.c
После чего, похоже, пытается найти функцию sqrt() где-то ещё в usr/include.

Интересно, что с
C++
1
norm_a1 = sqrt(A[k*n + k] + s);
никаких проблем нет.

Заголовочный файл math.h включен, компилирую с ключом -lm. Как избавиться от этого потока ругани?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2012, 15:30
Ответы с готовыми решениями:

CodeLite ошибка failed to locate gdb! at 'gdb'
Установил на двух компьютерах CodeLite. На десятке и на семерке. Выдает окошко failed to locate...

GDB 7.5
Помогите пожалуйста как установить GDB 7.5 к MinGW.MinGW установлен. http://ftp.gnu.org/gnu/gdb/ я...

gdb и си
Допустим, такой код while(1) { scanf(&quot;%d&quot;, &amp;addr); } Запускаю gdb. Вхожу в цикл. Если...

GDB
Привет)) у меня вот такая проблема, мне нужно значения регистров в конкретной строке ассемблера...

3
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
13.01.2012, 07:09 2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
    cout << sqrt(4.0) << endl;
    return 0;
}
Код
[guest@localhost tests]$ .iso++ -g t.cpp -o t
[guest@localhost tests]$ ./t
2
[guest@localhost tests]$ gdb t
GNU gdb (GDB) Fedora (7.2-16.fc14)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/guest/tmp/tests/t...done.
(gdb) run
Starting program: /home/guest/tmp/tests/t 
2

Program exited normally.
Missing separate debuginfos, use: debuginfo-install glibc-2.13-2.i686 libgcc-4.5.1-4.fc14.i686 libstdc++-4.5.1-4.fc14.i686
(gdb) run
Starting program: /home/guest/tmp/tests/t 
2

Program exited normally.
(gdb) quit
[guest@localhost tests]$ alias .iso++
alias .iso++='g++ -pedantic -Wall'
[guest@localhost tests]$
0
Заблокирован
16.01.2012, 17:43 3
xecu91, дистрибутив. Ругается на glibc
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
16.01.2012, 17:50 4
Нет дебажной инфы для glib. ЕМНИП в производных от дебиана она живёт в glib-bdg (-bdg там стандартный постфикс для пакетов отладочной информации соответствующих бибилиотек).
0
16.01.2012, 17:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2012, 17:50
Помогаю со студенческими работами здесь

gdb + .so
Есть динамическая библиотека, программа, к которой она линкуется. Включаю отладчик и понимаю, что...

варнинг GDB
GDB: Failed to set controlling terminal: operation not permitted что это значит (перевод я знаю) и...

Gdb - debug c++
доброй день решил освоить gdb и столкнулся с тем что он не находит ошибку работаю на винде 10, но...

Открыть бд gdb
Нужно открыть бд gdb.Подскажите каким образом?Никак не получается Добавлено через 14 часов 53...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru