Debug na CGI ( in VB!)

11 отговора 313 прегледа
#1

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 ?

Отговор
в отговор на FullScream #2

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.

Отговор
в отговор на FullScream #3

Re: Debug na CGI ( in VB!)

Кодировката на ГЕТ и ПОСТ заявките не е много сложна - направи си симулатор, който подава информацията на екзетата, които пишеш - при ГЕТ в оня енв вар, при ПОСТ - на стдин.

После дебъгвай на воля .

Друг подход - най-простото нещо, което ще сработи. Тествай ръчно (или може да го тестваш като хората ако си направиш гореспоменатия симулатор) преобразуването на данните от ГЕТ и ПОСТ заявката. Капсулирай преобразувателя в подходящ клас и го използвай навсякъде. Фалшифицирай го при реалните тестове като начин да подаваш данни на другите компоненти.

COM ти дава лесен начин да отделиш обектите, които вършат истинската работа и да ги тестваш отделно от уеб сървъра и CGI интерфейса - използвай си средствата, които ти предлага платформата.

Успех!

--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Отговор
в отговор на Mycлoн #4

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

Отговор
в отговор на FullScream #5

Re: Debug na CGI ( in VB!)

Симулацията ще е добро решение ако е достатъчно евтина като имплементация. Ако е трудна и не си струва - карай без нея, изтъни максимално слоя, който работи с данните от CGI интерфейса и стискай палци .

--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Отговор
в отговор на Mycлoн #6

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
Отговор
в отговор на Пepин #7

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
Отговор
в отговор на FullScream #8

Голямата тайна!

Я кажи как правиш конзолно приложение на ВБ? На ВБ6 не можах да го направя. Или действаш с ВБ.НЕТ?

--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Отговор
в отговор на Mycлoн #9

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 :)

Отговор
в отговор на FullScream #10

Re: Голямата тайна!

Точно това беше въпроса. Мерси. Последно доизмъчване - как казваш коя функция или модул да се изпълни при стартиране на програмата? Аджеба тоя код дето взима hStdout къде е сложен? Това съм го позабравил - не съм пипал ВБ6 от поне половин година.

Или като имаш само един .бас файл гадината почва да го изпълнява отгоре надолу?

--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Отговор
в отговор на Mycлoн #11

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 :) ...

Отговор
в отговор на FullScream #12

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
Отговор