Всего за несколько дней некоторые пользователи столкнулись с кодом ошибки при использовании gdb debug ns2. Эта дисфункция может возникнуть по нескольким причинам. Давайте теперь обсудим сайт.
Рекомендуется
Утечки памяти
- OTcl
OTcl, в частности TclCL, позволяет активировать все новые объекты,однако в результате он не предлагает захватывающей дух сборки мусораМеханизм для этих назначенных единиц. Это тоже должно быть легконепреднамеренная утечка памяти.Важно: инструменты пользуются dmalloc purifyне может обнаружить утечку памяти запредельного типа.Например, рассмотрим этот простой сценарий OTcl ns:
определить [новый симулятор]потому что я просто поставил 3 {$ iВы ожидаете, что использование нашей памяти сократится послеПрисваивается первое случайное значение. Но от всего, потому что у OTcl его нет.Флаг отказа, если вы считаете, что выбрана вторая случайная величина,предыдущие люди не будут освобождены и впоследствии вызовут утечку памяти.К сожалению для многих, однозначно нет простого решения, потому что мусорНабор функций с этим принципиально несовместим.Esprit на Tcl. Единственный способ прояснить это сейчас - всегдаЯвно записывайте каждый объект OTcl, назначенный в конкретном скрипте, вточно так же, как они заботятся о направленных объектах в C / C ++.
- C / C ++
Другой источник – утечки воспоминаний в C / C ++. N Тогда справочник для человека тоже намного прощеСледите за некоторыми инструментами, специально разработанными для этой цели, например:dmalloc и чистый.У Ns есть эта специализированная цель
ns-pure
для создания чистых nsисполняемые данные. Сначала убедитесь, что макросPURIFY
обычно находится вns Makefile состоит из подходящегокомпилятора
для вашегоКомпоновщик (посмотрите неиспользованную страницу руководства, если вы знаете, что это такое).Затем введитеmake ns-pure
.Дополнительную информацию об использовании ns с libdmalloc см. Здесь.
Отладка на уровне Tcl
Ns поддерживает отладчик Don Libs Tcl(видетьДокументация PostScriptа такжеИсточник).Установите программу или закройте корень сайта-причины впараллельно с НС-2 и ситуация установилась.В отличие от описанного ожидания, которое можно найти в документации tcl-debug,мы не справляемся с этим-D Флаг. Чтобы пройти через этоОтладчик, добавьте в сценарий оптимистичную “Отладку 1″подходящее место.
Команда yield ns gen-map перечисляет здесь каждый объект в необработанном виде.
Это действительно полезно для согласования выравнивания с этой особенностью объекта.учитывая его собственное имя.Имя объекта – это весь дескриптор OTcl, обычно фактическое имя“ _o ### ”. TclObjects,для этого также доступен отладчик C ++, что и для gdbвот так-> name_.
Отладка на уровне C
С такой задачей, наверное, справится любой стандартный отладчик.
Следующий макрос для gdb значительно упрощает понимание того, что находится внутри. проходитьПодпрограммы, которые принимают аргументы Tcl TcpAgent :: command ()):
## (как работать с аргументами сброса, переданными в Tclопределить pargvcопределим $ как i = 0в то время как $ iСмешайте отладку Tcl и C
(Всегда весело, правда?)
Это, безусловно, болезненная реальность, которая обычно возникает при просмотре вывода Tcl и отладке.Материал уровня Tcl, думающий, чтобы добраться до уровня C, говорит и вдобавок наоборотнаоборот. Это небольшой совет, как облегчить эту задачу.Если вы, вероятно, просматриваете ns gdb, тогда
- Имя If (выделено жирным шрифтом ниже) направляет васДоступ к отладчику Tcl. Советы, как сделать этот товар или услугу уникальнымиИспользование отладчика и что с ним можно практиковатьUse Gdb Debug Ns2
Usar Gdb Debug Ns2
Usa Gdb Debug Ns2
Uzyj Debugowania Gdb Ns2
Utiliser Gdb Debug Ns2
Utilizar Gdb Debug Ns2
Anvand Gdb Debug Ns2
Gebruik Gdb Debug Ns2
Verwenden Sie Gdb Debug Ns2
Gdb 디버그 Ns2 사용г.