Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Eclipse + gdb в Windows, экранирование 
:(
    Опции темы
dartan
  Дата 22.6.2013, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.9.2011

Репутация: нет
Всего: нет



Здравствуйте!
Есть проект в папке с:\ws\pro\ , в нем лежит файл ex.elf
Eclipse для запуска отладки выполняет в GDB команду, которую я вписал вручную:
Код

load с:\\ws\\pro\\ex.elf

Вроде бы и все отлично, только привязываться к абсолютному пути workspace-а нельзя. По этому я решил сделать так:
Код

load ${workspace_loc}\\pro\\ex.elf

Но ${workspace_loc} подставляет с:\ws, вместо нужного мне с:\\ws. И соответственно gdb думает что я хочу передать ему escape-последовательность \w вместо слеша. 
Вопрос: как сказать gdb что я передаю ему путь без escape-последовательностей.
Я пробовал такие варианты:
Код

load "${workspace_loc}\pro\ex.elf"
load \"${workspace_loc}\pro\ex.elf\"
load '${workspace_loc}\pro\ex.elf'
load \'${workspace_loc}\pro\ex.elf\'

Но в любом случае gdb разбирает бэкслешы как начала escape-последовательностей. Заставить eclipse выдавать в переменной ${workspace_loc} форвардслеши или екранировать бэки у меня тоже не получилось.
ЗЫ на линухе вариант 
Код

load ${workspace_loc}/pro/ex.elf

работает. Неужели на винде не получится?

Это сообщение отредактировал(а) dartan - 22.6.2013, 18:13
PM MAIL   Вверх
leniviy
Дата 22.6.2013, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



Каким образом команда передается в gdb? Через командную строку или файл с коммандами?
Может быть поменять в настройках эклипса путь к gdb на путь к обертке, который фиксит слеши и запускает gdb?

Зачем писать свою команду? Там же в настройках run configuration д.б. что-то вроде "executable path".
PM MAIL   Вверх
dartan
Дата 22.6.2013, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 26.9.2011

Репутация: нет
Всего: нет



Спасибо за ответ!
В gdb передается из многострочного поля ввода, которое есть в Debug Configuration (то есть как через "файл с командами"). Я так подозреваю Eclipse через JRE создает процесс gdb и кидает ему в stdin команды из этого поля ввода (или как оно там в win происходит smile ).
На счет последнего: вызывается не обычный gdb а специализированный gdb для отладки встраиваемых систем (но с точки зрения экранирования путей должно быть все идентично, так как тулчеин якобы полностью  совместим с GNU GDB). Дак вот: на самом деле мне нужно выполнить не только команду load а еще и file. Что-то вроде "executable path" есть, и оно корректно передает пути, но оно выполняет "load и symbol-file" вместо "load и file". А тулчеиновский gdb почему-то крашится от symbol-file. Но это все совсем другая история. Я надеялся на то  что в оригинальном GNU GDB должна быть возможность запрета парсинга прямых слешов, или вообще есть возможно такая  универсальная escape-последовательность, которая запрещает другие escape-последовательности. Или может есть возможность заставить еклипс подставлять в своих переменных юниховые слеши smile .

Это сообщение отредактировал(а) dartan - 22.6.2013, 21:06
PM MAIL   Вверх
leniviy
Дата 22.6.2013, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 552
Регистрация: 8.2.2003
Где: Спб

Репутация: нет
Всего: 5



я в этом посте не то запостил

Это сообщение отредактировал(а) leniviy - 22.6.2013, 21:53
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | GNU toolchain | Следующая тема »


 




[ Время генерации скрипта: 0.1319 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.