• 21

蘋果不用 flash 真相大白 Adobe 終於承認不理蘋果電腦多年

OhiYooo wrote:
Call Back 是很常用的軟體技術勒! 你把它類比到軟體回收! 真的蠻奇怪的! (字義上也不是這個"回收'的意思吧!)


你回文都不看前後文的嗎? 有個神人說他看到flash裡call了某支名稱叫做"Debugger()"的程式,然後宣稱這就是flash還是開發版的證據。這種神蹟跟把callback當軟體回收的離譜相比真是恰如其份。
gate2 wrote:
你光看到 "Debu...(恕刪)


這不用 trace code 啊,也不用什麼神人,只要去 ADC 翻一下就看得到了啊,不過很明顯的,你八成沒寫過 Mac 程式,我貼給你,你參考看看好了

Debugger
Enter the kernel debugger.
void Debugger(
const char *reason);
Parameters
reason
A C-string to describe why the debugger is being entered.
Discussion
This function freezes the kernel and enters the builtin debugger. It may not be possible to exit the debugger without a second machine.

P.S. 原來你把 hello world 取叫 Debugger() 喔?真歡樂
Shivahuang wrote:
這不用 trace code 啊,也不用什麼神人,只要去 ADC 翻一下就看得到了啊,不過很明顯的,你八成沒寫過 Mac 程式,我貼給你,你參考看看好了

Debugger
Enter the kernel debugger.
void Debugger(
const char *reason);
Parameters
reason
A C-string to describe why the debugger is being entered.
Discussion
This function freezes the kernel and enters the builtin debugger. It may not be possible to exit the debugger without a second machine.

P.S. 原來你把 hello world 取叫 Debugger() 喔?真歡樂


我幫你把網址貼出來

http://developer.apple.com/Mac/library/documentation/Darwin/Reference/KernelIOKitFramework/IOLib_h/index.html

OK,我們現在知道它的功能(不是hello word, 是進入kernel debugger),接下來的問題是,為什麼call這隻Debugger就代表flash是測試版?
gate2 wrote:
我幫你把網址貼出來h...(恕刪)


嗯?所以你會在正式拿給客戶出貨的程式中呼叫 GDK 來把 stack 顯示給客戶看?
Shivahuang wrote:
嗯?所以你會在正式拿給客戶出貨的程式中呼叫 GDK 來把 stack 顯示給客戶看?


如果沒有這類debugger,user的軟體當掉,你要派工程師到他家debug嗎? 當然是用這類程式吐data出來,請user用網路上傳debugger message回來分析。

這支debugger,跟AP(flash)是不是開發版根本是兩回事。
gate2 wrote:
如果沒有這類debu...(恕刪)


原來你對程式開發的理念是這樣啊...hmmm....好妙...用 GDK show memory stack 的內容給一般使用者,並且希望對方能上網把他傳給你看...
不知道這是台灣產業現況?公司政策?或者...嗯...單純的個人習慣?不管...不過你總該知道,一直把這些訊息 dump 出來會拖慢整個 AP 的效能吧?所以你現在能不能接受,Flash on Mac 的速度這麼慢,Adobe 有它該負的責任呢?

題外話,你應該知道 release mode 和 debug mode 不同吧?
Shivahuang wrote:
原來你對程式開發的理...(恕刪)


1.你要怎麼證明 "debugger()能讓kernel暫停工作"和 "flash在OSX下的效能不好"的因果關係? 廚房的刀子可以殺人,但不代表使用刀子的人是兇手。

2.如果要知到底層kernel的情況,當然就用 kernel 相關的debugger。 難道程式當機都只是上層AP的問題,底層硬體都不會出錯?
說真的, 這些都不是重點. 使用者根本沒有必要當 Adobe 的 QA. 使用者需要的是穩定而快速的 Flash 平台. 如果 Flash 當了, 那是 Adobe 自己要查清楚的問題, 而不是使用者. 那為什麼 Adobe 要在他們 release 的東西裡加入 debug symbol 來降低速度, 浪費使用者的硬碟呢?
HappyChen1 wrote:
那為什麼 Adobe 要在他們 release 的東西裡加入 debug symbol 來降低速度, 浪費使用者的硬碟呢?


因為要debug阿,一套軟體賣出去又不代表完全沒問題。 你的OSX有沒有當過? 它會問你要不要回傳錯誤報告,錯誤報告除了會有你的軟硬體環境外,還會有當機當時OS的各種資料。要不然軟體當掉後,你要人家怎麼分析?

就算是上面那支debugger也不是隨時都在執行。更何況,如果是這支API拖慢flash,那蘋果就把它拿掉就好,事情哪有這麼簡單。
gate2 wrote:
1.你要怎麼證明 "...(恕刪)


我合理懷疑不行嗎?而且如果你有寫過程式,有用 release mode 來和 debug mode 比較過,應該首先都會懷疑一個呼叫了 Debugger() 的程式內部應該還有相當多的 debug symbol,而把這些東西清掉就可以毫不費力的大幅提升程式效能。

gate2 wrote:
因為要debug...(恕刪)


至於你要 Apple 把 Debugger() 這個 API 拿掉...那這樣其他人是要怎麼寫程式啦
Apple 和 Adobe 應該沒有要好到這種程度吧?

不過現在你知道 Debugger() 不是程式,也不是 hello world 的偽裝 function name,而是系統的 API,也算是進步啦。
  • 21
內文搜尋
X
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 21)
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?