|
|
|
dartan |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.9.2011 Репутация: нет Всего: нет |
Здравствуйте!
Есть проект в папке с:\ws\pro\ , в нем лежит файл ex.elf Eclipse для запуска отладки выполняет в GDB команду, которую я вписал вручную:
Вроде бы и все отлично, только привязываться к абсолютному пути workspace-а нельзя. По этому я решил сделать так:
Но ${workspace_loc} подставляет с:\ws, вместо нужного мне с:\\ws. И соответственно gdb думает что я хочу передать ему escape-последовательность \w вместо слеша. Вопрос: как сказать gdb что я передаю ему путь без escape-последовательностей. Я пробовал такие варианты:
Но в любом случае gdb разбирает бэкслешы как начала escape-последовательностей. Заставить eclipse выдавать в переменной ${workspace_loc} форвардслеши или екранировать бэки у меня тоже не получилось. ЗЫ на линухе вариант
работает. Неужели на винде не получится? Это сообщение отредактировал(а) dartan - 22.6.2013, 18:13 |
||||||||
|
|||||||||
leniviy |
|
|||
Опытный Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
Каким образом команда передается в gdb? Через командную строку или файл с коммандами?
Может быть поменять в настройках эклипса путь к gdb на путь к обертке, который фиксит слеши и запускает gdb? Зачем писать свою команду? Там же в настройках run configuration д.б. что-то вроде "executable path". |
|||
|
||||
dartan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 26.9.2011 Репутация: нет Всего: нет |
Спасибо за ответ!
В gdb передается из многострочного поля ввода, которое есть в Debug Configuration (то есть как через "файл с командами"). Я так подозреваю Eclipse через JRE создает процесс gdb и кидает ему в stdin команды из этого поля ввода (или как оно там в win происходит ). На счет последнего: вызывается не обычный gdb а специализированный gdb для отладки встраиваемых систем (но с точки зрения экранирования путей должно быть все идентично, так как тулчеин якобы полностью совместим с GNU GDB). Дак вот: на самом деле мне нужно выполнить не только команду load а еще и file. Что-то вроде "executable path" есть, и оно корректно передает пути, но оно выполняет "load и symbol-file" вместо "load и file". А тулчеиновский gdb почему-то крашится от symbol-file. Но это все совсем другая история. Я надеялся на то что в оригинальном GNU GDB должна быть возможность запрета парсинга прямых слешов, или вообще есть возможно такая универсальная escape-последовательность, которая запрещает другие escape-последовательности. Или может есть возможность заставить еклипс подставлять в своих переменных юниховые слеши . Это сообщение отредактировал(а) dartan - 22.6.2013, 21:06 |
|||
|
||||
leniviy |
|
|||
Опытный Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
я в этом посте не то запостил
Это сообщение отредактировал(а) leniviy - 22.6.2013, 21:53 |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | GNU toolchain | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |