AMX MOD X
Пятница, 09.01.2026, 20:31:30



Приветствую Вас Гость | RSS
[ Главная ] [ Баг amxx дебагера - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Баг amxx дебагера
DaTaДата: Понедельник, 11.08.2008, 02:48:48 | Сообщение # 1
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
В чем суть бага? При ошибке в if-конструкции дебагер будет наговаривать на первую(/й) переменную(/возврат из функции)
Code
#include <amxmodx>

public plugin_init()
{
  register_plugin("Debuger bug xD", "1.0", "DaTa")
   
  new array1[2] = {1,1}
  new array2[2] = {0,0}
  //prevent compiler bounds check
  new one = 1
  if(array1[1]  /*line 11*/
  &&
  array2[one+one])    /*line 13*/
   log_amx("newer hap.")
}

Quote

L 08/11/2008 - 01:32:53: [AMXX] Displaying debug trace (plugin "omg1.amxx")
L 08/11/2008 - 01:32:53: [AMXX] Run time error 4: index out of bounds
L 08/11/2008 - 01:32:53: [AMXX] [0] omg1.sma::plugin_init (line 11)

-----
Code
#include <amxmodx>

public plugin_init()
{
  register_plugin("Debuger bug xD", "2.0", "DaTa")
   
  new array2[2] = {0,0}
  //prevent compiler bounds check
  new one = 1
  if(fun1()   /*line 10*/
  &&
  array2[one+one])    /*line 12*/
   log_amx("newer hap.")
}

fun1()
  return fun2()

fun2()
  return fun3()

fun3()
  return fun4()

fun4()
  return fun5()

fun5()
  return fun6()

fun6()
  return fun7()

fun7()
  return fun8()

fun8()
  return fun9()

fun9()
  return fun10()

fun10()
  return 1

Quote

L 08/11/2008 - 01:32:53: [AMXX] Displaying debug trace (plugin "omg2.amxx")
L 08/11/2008 - 01:32:53: [AMXX] Run time error 4: index out of bounds
L 08/11/2008 - 01:32:53: [AMXX] [0] omg2.sma::fun10 (line 44)
L 08/11/2008 - 01:32:53: [AMXX] [1] omg2.sma::fun9 (line 41)
L 08/11/2008 - 01:32:53: [AMXX] [2] omg2.sma::fun8 (line 38)
L 08/11/2008 - 01:32:53: [AMXX] [3] omg2.sma::fun7 (line 35)
L 08/11/2008 - 01:32:53: [AMXX] [4] omg2.sma::fun6 (line 32)
L 08/11/2008 - 01:32:53: [AMXX] [5] omg2.sma::fun5 (line 29)
L 08/11/2008 - 01:32:53: [AMXX] [6] omg2.sma::fun4 (line 26)
L 08/11/2008 - 01:32:53: [AMXX] [7] omg2.sma::fun3 (line 23)
L 08/11/2008 - 01:32:53: [AMXX] [8] omg2.sma::fun2 (line 20)
L 08/11/2008 - 01:32:53: [AMXX] [9] omg2.sma::fun1 (line 17)
L 08/11/2008 - 01:32:53: [AMXX] [10] omg2.sma::plugin_init (line 10)

-----
Code
#include <amxmodx>

public plugin_init()
{
  register_plugin("Debuger bug xD", "3.0", "DaTa")
   
  if(true  /*line 7*/
  &&
  register_clcmd("null","error_not_found_func"))    /*line 9*/
   log_amx("newer hap.")
}

Quote

L 08/11/2008 - 01:47:40: Function "error_not_found_func" was not found
L 08/11/2008 - 01:47:40: [AMXX] Displaying debug trace (plugin "omg3.amxx")
L 08/11/2008 - 01:47:40: [AMXX] Run time error 19: function not found
L 08/11/2008 - 01:47:40: [AMXX] [0] omg3.sma::plugin_init (line 7)

Добавлено (2008-08-11, 2:48 Am)
---------------------------------------------
угробил пол часа, не попадитесь и вы ;)

 
BruteДата: Понедельник, 11.08.2008, 02:57:39 | Сообщение # 2
Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Репутация: 9
Статус: Не в сети
возврат процедуры :D причем пустой + зацикливание, о я епу как проц очко напрягает :D
 
DaTaДата: Понедельник, 11.08.2008, 13:34:40 | Сообщение # 3
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (Brute)
возврат процедуры :D причем пустой + зацикливание, о я епу как проц очко напрягает :D

к чему это? там только plugin_init ничего не возвращает О_о
зацикливания нету по причине отсутствия циклов :D
и причем тут проц? я просто для демонстрации вызвал некую цепочку функций, их и отобразило в порядке нахождения в стеке
 
ListenДата: Понедельник, 11.08.2008, 23:42:25 | Сообщение # 4
Рядовой
Группа: Пользователи
Сообщений: 13
Репутация: 0
Статус: Не в сети
Quote
if(fun1()

в версии 2.0 - fun1() вызавается первее чем ее регистрируют :)

Code

if(true  /*line 7*/
   &&
   register_clcmd("null","error_not_found_func"))  

в 3.0 - вообще бред )))


Сообщение отредактировал Listen - Понедельник, 11.08.2008, 23:45:52
 
DaTaДата: Вторник, 12.08.2008, 13:36:27 | Сообщение # 5
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (Listen)
в версии 2.0 - fun1() вызавается первее чем ее регистрируют :)

Ну, во первых, ее локальные функции не регистрируются.
Во вторых, в pawn приемлемо определить функцию после ее вызова в единице компиляции.
Quote (Listen)
в 3.0 - вообще бред )))

Бред, для наглядности.
 
slogicДата: Вторник, 12.08.2008, 13:44:17 | Сообщение # 6
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Не такой уж и страшный глюк. Хуже когда пишет типа Uknown error да еще непонятно где (это я беру из других компиляторов), или сам компилятор вылетает с ошибкой.
 
ArgusДата: Вторник, 12.08.2008, 14:09:11 | Сообщение # 7
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (slogic)
сам компилятор вылетает с ошибкой

угу, было, и при этом файл с исходником во время компиляции испортился. открываю, а там вместо моего кода - машинный код. вообще абзац


Правила форума
Поиск плагинов
Последние сообщения форума


Сообщение отредактировал Argus - Вторник, 12.08.2008, 14:10:00
 
DaTaДата: Вторник, 12.08.2008, 14:44:21 | Сообщение # 8
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote (Argus)
угу, было, и при этом файл с исходником во время компиляции испортился. открываю, а там вместо моего кода - машинный код. вообще абзац

что-то из области фантастики, вообще он открывает исходник только для чтения О_о


Сообщение отредактировал DaTa - Вторник, 12.08.2008, 14:44:41
 
ArgusДата: Вторник, 12.08.2008, 15:25:49 | Сообщение # 9
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (DaTa)
что-то из области фантастики, вообще он открывает исходник только для чтения О_о

ну, я тоже всегда был уверен что происходит именно так.


Правила форума
Поиск плагинов
Последние сообщения форума
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026