Debug na CGI ( in VB!)
11 отговора
313 прегледа
Debug na CGI ( in VB!)
na skoro se svetnah che VB e mnogo priyaten za pisane na CGI , kogato stava duma za bazi danni i obrabotka na stringove ....napravo pesen ....
no ne vdyavam ...ima li nyakuv lesen nachin za debug - s breakpointove, watchove i t.n.
nyakoi probval li e ?
no ne vdyavam ...ima li nyakuv lesen nachin za debug - s breakpointove, watchove i t.n.
nyakoi probval li e ?
Re: Debug na CGI ( in VB!)
Ti kazi malko poveche kakvo polzvash. VBS - WSH?
abe napishi vylshebnata duma break nekyde v coda, i ako imash VS ili InterDev instaliran shte si dovolen. Ako ne ste ti digne default debugera.
Ima obache dosta po priatni nacnini sa pisane - WebApplication naprimer.
abe napishi vylshebnata duma break nekyde v coda, i ako imash VS ili InterDev instaliran shte si dovolen. Ako ne ste ti digne default debugera.
Ima obache dosta po priatni nacnini sa pisane - WebApplication naprimer.
Re: Debug na CGI ( in VB!)
Кодировката на ГЕТ и ПОСТ заявките не е много сложна - направи си симулатор, който подава информацията на екзетата, които пишеш - при ГЕТ в оня енв вар, при ПОСТ - на стдин.
После дебъгвай на воля
.
Друг подход - най-простото нещо, което ще сработи. Тествай ръчно (или може да го тестваш като хората ако си направиш гореспоменатия симулатор) преобразуването на данните от ГЕТ и ПОСТ заявката. Капсулирай преобразувателя в подходящ клас и го използвай навсякъде. Фалшифицирай го при реалните тестове като начин да подаваш данни на другите компоненти.
COM ти дава лесен начин да отделиш обектите, които вършат истинската работа и да ги тестваш отделно от уеб сървъра и CGI интерфейса - използвай си средствата, които ти предлага платформата.
Успех!
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
После дебъгвай на воля
Друг подход - най-простото нещо, което ще сработи. Тествай ръчно (или може да го тестваш като хората ако си направиш гореспоменатия симулатор) преобразуването на данните от ГЕТ и ПОСТ заявката. Капсулирай преобразувателя в подходящ клас и го използвай навсякъде. Фалшифицирай го при реалните тестове като начин да подаваш данни на другите компоненти.
COM ти дава лесен начин да отделиш обектите, които вършат истинската работа и да ги тестваш отделно от уеб сървъра и CGI интерфейса - използвай си средствата, които ти предлага платформата.
Успех!
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Re: Debug na CGI ( in VB!)
Hmm ...da ...kakto si i misleh ...simulaciya :) ...
prosto se nadyavah na po-leko reshenie ... edva li sum edinstveniya koito se bori s problema ....ama shte go izmislya :)
10x za infoto
prosto se nadyavah na po-leko reshenie ... edva li sum edinstveniya koito se bori s problema ....ama shte go izmislya :)
10x za infoto
Re: Debug na CGI ( in VB!)
Симулацията ще е добро решение ако е достатъчно евтина като имплементация. Ако е трудна и не си струва - карай без нея, изтъни максимално слоя, който работи с данните от CGI интерфейса и стискай палци
.
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Re: Debug na CGI ( in VB!)
А не може ли всичкото да се вкара в един КОМ+ и там да се дебъгва? Мисля че има начин да се дебъгва ВБ в КОМ+ .... ама не съм сигурен :(
I think its kinda funny I think its kinda sad the dreams in which Im dying are the best Iv ever had
I think its kinda funny I think its kinda sad the dreams in which Im dying are the best Iv ever had
Re: Debug na CGI ( in VB!)
Мм я кажи повече - какво имаш предвид под "дебъгване на ВБ в КОМ+"?
В COM идеята, която споменах горе, беше предвидена да се изнесе бизнес логиката в отделни компоненти и те да се извикват от CGI програмата. Естествено, могат да се дебъгват отделно.
Иначе ВБ 6 дебъгера е страшен простак като стане въпрос за дебъг на регистрирани компоненти - мисля, че се регистрира той самия като въпросния компонент и поп-ъпва като някой удари брейкпойнт при извикване.
<отклонение от="темата" тип="хумореска">
Поздрави за всички, които са писали GIS ВБ компоненти за Geomedia, където са получавали "приятни" изживявания с изискванията някои компоненти да са в процеса на главната програма, а при дебъгване не се получава точно така.
Има си даже документиран грозен хак от Интерграф - всеки компонент създаваш чрез извикване на метод на апликейшън компонента - даваш му ПрогИд и чакаш да ти върне reference.
</отклонение>
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
В COM идеята, която споменах горе, беше предвидена да се изнесе бизнес логиката в отделни компоненти и те да се извикват от CGI програмата. Естествено, могат да се дебъгват отделно.
Иначе ВБ 6 дебъгера е страшен простак като стане въпрос за дебъг на регистрирани компоненти - мисля, че се регистрира той самия като въпросния компонент и поп-ъпва като някой удари брейкпойнт при извикване.
<отклонение от="темата" тип="хумореска">
Поздрави за всички, които са писали GIS ВБ компоненти за Geomedia, където са получавали "приятни" изживявания с изискванията някои компоненти да са в процеса на главната програма, а при дебъгване не се получава точно така.
</отклонение>
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Голямата тайна!
Я кажи как правиш конзолно приложение на ВБ? На ВБ6 не можах да го направя. Или действаш с ВБ.НЕТ?
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Re: Голямата тайна!
Mi na VB 6 ....pisha i cheta v stdin i stdout
priojenieto nyama Form - obekti ... prosto edin .bas fail
Za GET - polzvat se environment variables ...za POST - stdin
Za primer :
Static hStdout As Long
If hStdout = 0 Then
hStdout = GetStdHandle(STD_OUTPUT_HANDLE)
End If
Call WriteFile(hStdout, (s), Len(s), BytesWritten, 0&)
Analogichno i za vhoda :)
Dano da sum razbral pravilno vaprosa :)
priojenieto nyama Form - obekti ... prosto edin .bas fail
Za GET - polzvat se environment variables ...za POST - stdin
Za primer :
Static hStdout As Long
If hStdout = 0 Then
hStdout = GetStdHandle(STD_OUTPUT_HANDLE)
End If
Call WriteFile(hStdout, (s), Len(s), BytesWritten, 0&)
Analogichno i za vhoda :)
Dano da sum razbral pravilno vaprosa :)
Re: Голямата тайна!
Точно това беше въпроса. Мерси. Последно доизмъчване - как казваш коя функция или модул да се изпълни при стартиране на програмата? Аджеба тоя код дето взима hStdout къде е сложен? Това съм го позабравил - не съм пипал ВБ6 от поне половин година.
Или като имаш само един .бас файл гадината почва да го изпълнява отгоре надолу?
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Или като имаш само един .бас файл гадината почва да го изпълнява отгоре надолу?
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Re: Голямата тайна!
Sub Main() ...raboti chudesno :)
Basica ottdavna ne se izpalnyava "otgore na dolu " ...a beshe veselo edno vreme
red 10 , red 20 .....za da moje posle da vmuknesh red 15 mejdu tyah ...he he ...
aii ...zabravih ....Goto - vulshebnoto zaklinanie ....i klasikata na "ednoredovite programi" eeeeh ..detsvo :) ...
Basica ottdavna ne se izpalnyava "otgore na dolu " ...a beshe veselo edno vreme
red 10 , red 20 .....za da moje posle da vmuknesh red 15 mejdu tyah ...he he ...
aii ...zabravih ....Goto - vulshebnoto zaklinanie ....i klasikata na "ednoredovite programi" eeeeh ..detsvo :) ...
Re: Голямата тайна!
Едно време си го бях турил тва в сигнатурата:
Real programmers never die. They just GOSUB without RETURN.
Ееех Applesoft BASIC... ееех.
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Real programmers never die. They just GOSUB without RETURN.
Ееех Applesoft BASIC... ееех.
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck