This being a course on software debugging, let's take a look at a software problem.
Mozilla is the corporation that produces the well-known Firefox browser.
In the early days of the browser, Mozilla was still in beta,
and they got lots and lots of problem reports from their early customers.
Here is bug report #24735.
You already see from the number that they got very, very many bug reports.
What would happen here is that a user would start the Mozilla browser,
would go to the website bugzilla.mozilla.org,
which actually holds all the bug reports, including this one, in Mozilla.
The browser would render the Bugzilla webpage.
There would be a link "search for bug" and users would click on it.
Then a number of menus would appear say selecting the operating system,
priority or severity, where you would be able to enter or select search terms
before pressing the big search button.
If the user would now, with this Bugzilla page open,
select "Print" from the menu, then the entire browser would crash with a segmentation fault.
Such bug reports were not exactly uncommon in the early days of Mozilla.
There would always be some HTML input that would come from the web server
and then be rendered as a webpage which the browser couldn't properly handle.
Let's take a look at the HTML code for bugzilla.mozilla.org.
Essendo questo un corso sul debugging software, diamo un'occhiata ad un problema software.
Mozilla e' una societa' che produce il ben noto browser Firefox.
Durante i suoi primi passi, Mozilla era ancora in beta
e riceveva tante tante segnalazioni dai primi clienti.
Ecco qui il bug report nr. 24735.
Puoi capire gia' dalla cifra che di bug report ne arrivavanto tanti.
Quello che succede qui e' che un utente avrebbe aperto il browser Mozilla,
sarebbe andato al sito web bugzilla.mozilla.org,
che in effetti contiene tutti i bug report, compreso questo qui, di Mozilla.
Il browser avrebbe visualizzato la pagina di Bugzilla,
ci sarebbe stato un link "ricerca bug" e gli utenti ci avrebbero cliccato su,
e poi sarebbero apparsi un certo numero di menu per la scelta del sistema operativo,
priorita' o gravita', dove avresti potuto inserire o selezionare gli estremi di ricerca
prima di premere il grosso pulsante "Cerca".
Se ora l'utente avesse, con questa pagina aperta,
selezionato "Stampa" dal menu, l'intero browser sarebbe andato in crash per segmentation fault.
Questo tipo di bug report non erano proprio rari durante i primi passi di Mozilla,
ci sarebbe stato sempre dell'input HTML proveniente dal web server
che avrebbe prodotto una pagina web che il browser non sarebbe stato in grado di gestire adeguatamente.
Diamo un'occhiata al codice HTML di bugzilla.mozilla.org.
さっそくソフトウェアのバグを見てみましょう
Mozillaは
Firefoxというブラウザを開発している企業です
初期のブラウザはまだテスト段階にあり
顧客から多くの問題報告が寄せられました
その数は2万4735件にも上りました
本当に多くのバグレポートが寄せられたのです
ユーザはMozillaのブラウザを起動させ
bugzilla.mozilla.orgへアクセスします
Mozillaにはすべてのバグレポートが保存されています
Bugzillaというページが表示され
ユーザが"バグを検索"をクリックします
するとオペレーティングシステム、優先度、重要度を
選択できるボタンが現れます
検索ボタンを押す前に
検索用語を入力または選択することができるのです
ユーザがBugzillaのメニューから"Print"を選ぶと
ブラウザ全体がセグメンテーション違反で停止します
当初はそんなバグレポートばかりでした
Webサーバから送られてくるHTMLデータがあり
ブラウザが処理できないページとして
表示されていたのです
bugzilla.mozilla.orgの
HTMLコードを見てみましょう
既然是软件调试的课程,那就来看看软件中存在的问题吧。
Mozilla这家公司的拳头产品是著名的火狐浏览器。
在这款浏览器的早期,还是试用版的时期,
他们就已经从顾客处得到了很多软件问题的报告。
比如#24735这个bug。
从这个数字上就看出,这得有多少的bug报告啊。
这个bug是指当用户启动这个浏览器时,
就会跳转到bugzilla.mozilla.org这个网站,
里面记录了所有的bug报告,也包括了这一个。
浏览器在渲染bugzilla页面,
这里有个“查找bug”的链接,用户点击它,
会出现一堆的菜单,比如选择操作系统,
优先级或严重性,你在这里输入或选择查找项
最后才是点击这个大大的查找按钮。
如果用户现在打开的bugzilla页面,
选中菜单中的“打印”,整个浏览器会因段错误而立刻崩溃。
这样的bug报告在早期的Mozilla不是特例。
总会有一些来自网页服务器的 HTML输入
在被渲染成一个网页时,浏览器搞不定它。
那我们来看看bugzilla.mozilla.org中的HTML代码吧。