Вопрос номер 1.
В ходе дебага одной софтины
столкнулся с такой ситуацией:
выполняю программу пошагово
и вижу такое
if(SomeFunc()){
 printf("mega error");
}
else{
 printf("all OK");
}
трейсинг SomeFunc
показывает что она возвращает -1
то бишь по коду мы должны попадать
на printf("mega error"); однако,
попадаем на printf("all OK");
баг проявляеться после пары недель работы
проги, я предпологаю что баг вызван какимто
хитрым повреждением стека, возможно просто
не достали со стека переменную какую-то,
(в проге широко используються функции с переменным
количеством операндов) или еще что
однако прога продолжает работать, неверно работать
а мне как-то нужно найти баг.
Хотелось бы услышать советы людей которые
сталкивались с подобными ситуациями,
а также советы на тему, как мне этот баг выловить.
Вопрос номер 2.
Есть код типа
Func1(){
...
 Func2(){
  pid = fork();
  if(pid == 0){
   long_time_func();
  }
 }
}
в общем куча функций вложеных одна в другую
в каждой создаеться на стеке куча автоматических переменных
что естественно занимает определенную память
софтина критична к объему потребляемой памяти
поэтому чтобы в форке освободить эту память на стеке
я делаю такой код
if(PROC_TYPE == LONG_PROC) return;
и так до самого майна
в котором уже делаю непосредственный вызов
нужной функции
main{
....
if(PROC_TYPE == LONG_PROC) some_func();
}
Вопрос состоит в том есть ли какой-то другой
более элегантный способ освобождения стека ?


    
      Ответ на:
      
          комментарий
        от signal 
  
    
      Ответ на:
      
          комментарий
        от signal 
  


    
      Ответ на:
      
          комментарий
        от dilmah 
  
    
      Ответ на:
      
          комментарий
        от krum 
  
    
      Ответ на:
      
          комментарий
        от dilmah 
  
    
      Ответ на:
      
          комментарий
        от dilmah 
  
    
      Ответ на:
      
          комментарий
        от anonymous 
  

    
      Ответ на:
      
          комментарий
        от anonymous 
  

    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум стек (2020)
- Форум Стек, форвардинг (2017)
- Форум Стек технологий (2015)
- Форум полиморфный стек (2015)
- Форум кончается стек (2013)
- Форум Караван стека (2008)
- Форум Размер стека (2005)
- Форум WINEX + стек (2003)
- Форум WINEX + стек (2003)
- Форум Стек TCP (2000)