[工作經驗]Workaround明明能跑,客戶卻說不行:一次Debug經驗的學習與反思

更新 發佈閱讀 4 分鐘
vocus|新世代的創作平台


在一次晶片整合程式除錯的過程中,我碰上一個奇怪的情況「我知道怎麼解,程式也能跑,但客戶卻堅持那樣做IC會壞掉。」這次經驗讓我體會到:工程問題的解法,不只要能跑,還得讓人信服。


問題起因及初步判斷

相同的程式、不同的結果

某一次有個客戶在整合晶片A的程式時回報說程式執行會報錯,當我去看程式時發現那個ERROR不常見,但從訊息上可以知道一些眉目。實際上當時有晶片A、B、C及D一起在開發中,而ABCD其實用的都是同一個版本的程式,照理說如果A出問題BCD都應該有問題,實際上卻是只有晶片A工程師有回報問題。

在一段時間驗證與查找後,我找到在某一處設定檔案中有一個被引用的檔案會引起這個ERROR。實際上這個被引用的檔案根本沒被使用,算是以前系統更新版本後遺留下來沒被刪除的檔案。而在晶片BCD中無論這一行有沒有被註解都不影響執行,而A在將那一行註解掉後,程式就可以順利執行了。

客戶堅持反對,卻不合邏輯

問題很簡單,但卻難以溝通

但事情沒有我想像順利,回報給客戶解答後,隔天客戶再次找上我說註解掉這一行檔案的引用會影響IC的燒錄。當下其實是愣住了,這個檔案跟燒錄完全沒關係。

但我沒有選擇不直接反駁,而是再次回去看了看程式內容。確認多次後我可以保證這個檔案完全沒被使用,大概率是程式底層的BUG,但我這邊沒辦法處理。

在跟客戶試圖交流後,對方態度其實很強硬,堅持地認為這個檔案的註解會影響燒錄結果。我強烈地懷疑這個結論是錯的,畢竟這個檔案並沒有參與燒錄的執行。

但我沒有選擇與他硬碰硬。並且這個問題其實有點急,因為會影響到程式傳到外測廠OSAT的時程、量產的時程。

持續深挖,找到Root Cause

持續嘗試、試圖找到證據服人

當天我決定晚上把筆電帶回家,想找到有沒有更深層原因引起這個問題,否則當前這個Wordaround雖然正確卻不能安撫對方情緒。一路從七點用到十一點多後,終於找到一點蛛絲馬跡,是程式中某個自動生成的設定檔沒有被生成。

隔天到公司我試著跟同事討論這個發現,正好有個比較資深的同事說到某個隱藏系統設定檔會影響檔案生成。我立刻去將晶片ABCD的隱藏設定檔做比較,果然只有A的設定檔中有少兩行內容。接著我把那兩行文字補上後,晶片A無論有沒有把那個被引用卻沒使用的檔案註解,都可以順利執行程式 了。

最終解決以及反思

提出這個解法後客戶終於接受了,同時我也找到一個程式底層錯誤並回報給工廠的RD,也讓自己貢獻多了一筆。

在這次應對的過程中我了解到,有時候雖然存在正確的Workaround,但不一定是對現場執行合適的,還要考慮到人與人互動間的複雜感情交流XD。我曾想過,如果當初我更堅定地說服對方採用 workaround,也許能節省不少時間。但也可能換來不必要的衝突與信任損失。

技術判斷之外的事,我還在學,也許這才是工程職場中最難的部分。

英文版本文章在此:The workaround worked, but the client said no: A debugging experience and reflection | by Ivan | Medium



留言
avatar-img
Ivan的沙龍
0會員
3內容數
一個工程師分享個人經驗的地方
你可能也想看
Thumbnail
這篇文章探討了在專案開發中遇到的時間壓力和執行困難,以及如何無效應對這些挑戰。 沒有工時估算、客戶溝通、交付時間表設定、程式品質管理、工作量管理、合同和專業態度等方面的建議。
Thumbnail
這篇文章探討了在專案開發中遇到的時間壓力和執行困難,以及如何無效應對這些挑戰。 沒有工時估算、客戶溝通、交付時間表設定、程式品質管理、工作量管理、合同和專業態度等方面的建議。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
在專案中與廠商測試API回傳的json字串出現無法解析的狀況,記錄發現過程與解決的紀錄,提供程式面和檔案面的解決方法。
Thumbnail
在專案中與廠商測試API回傳的json字串出現無法解析的狀況,記錄發現過程與解決的紀錄,提供程式面和檔案面的解決方法。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
當你在開發程式時,難免會遇到各種錯誤和異常情況。這些錯誤可能是因為代碼中的錯誤、外部資源無法訪問或其他不可預期的狀況。為了提高程式的可靠性、穩定性和可維護性,我們使用「例外處理」來處理這些異常情況。
Thumbnail
當你在開發程式時,難免會遇到各種錯誤和異常情況。這些錯誤可能是因為代碼中的錯誤、外部資源無法訪問或其他不可預期的狀況。為了提高程式的可靠性、穩定性和可維護性,我們使用「例外處理」來處理這些異常情況。
Thumbnail
事源我有個文檔用了前公司最新版本After Effect保存 帶回家才發現這個版本不兼容。而且第一個版本都不能打開(這也算AE超白癡的地方,2023都就已經不能打開2024的文檔)。
Thumbnail
事源我有個文檔用了前公司最新版本After Effect保存 帶回家才發現這個版本不兼容。而且第一個版本都不能打開(這也算AE超白癡的地方,2023都就已經不能打開2024的文檔)。
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
實際就業後,會發現收集與分析需求,通常都不是工程師在做,會有另一群人,以非工程的角度收集及分析需求,然後在開發過程中蹦出不同的火花,於是很好奇另一群人的想法是什麼?我不敢說這本書能完全代表另一群人的想法,但確實能夠得到很多有用的思維。推薦給所有的軟體工程師。
Thumbnail
標示全部為已讀失效 最近發現留言系統中,"標示全部為已讀"的速度明顯變慢,甚至有時會失效。許多使用者都報告遇到了相同的問題。這實際上是程式設計中一個常見的漏洞。系統沒有充分考慮到整體容量問題與效能,才導致了這樣的情況。(實際原因待查,此處僅為一般解說),當系統開始顯示緩慢或出現其他問題時,通常
Thumbnail
標示全部為已讀失效 最近發現留言系統中,"標示全部為已讀"的速度明顯變慢,甚至有時會失效。許多使用者都報告遇到了相同的問題。這實際上是程式設計中一個常見的漏洞。系統沒有充分考慮到整體容量問題與效能,才導致了這樣的情況。(實際原因待查,此處僅為一般解說),當系統開始顯示緩慢或出現其他問題時,通常
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
專案失敗以往被定義為超期、超預算或無法結案,但現今專案管理思維重新把失敗定義為未能產生預期價值。文章從產品經理、軟體設計和管理流程三方面提出對失敗專案的見解和解決方法。
Thumbnail
專案失敗以往被定義為超期、超預算或無法結案,但現今專案管理思維重新把失敗定義為未能產生預期價值。文章從產品經理、軟體設計和管理流程三方面提出對失敗專案的見解和解決方法。
Thumbnail
這篇文章探討了在軟體開發中的技術債可能來自哪些原因,以及如何自動化偵測與修復技術債。作者透過分享不同情境下的技術債選擇,提供了對於技術債的思考與建議,針對開發人員在需要做出無奈的技術決策時,提供了一些建議。此外,還提供了一些在做出技術決策時的方法,如保留抽象層和避免vendor lock-in。
Thumbnail
這篇文章探討了在軟體開發中的技術債可能來自哪些原因,以及如何自動化偵測與修復技術債。作者透過分享不同情境下的技術債選擇,提供了對於技術債的思考與建議,針對開發人員在需要做出無奈的技術決策時,提供了一些建議。此外,還提供了一些在做出技術決策時的方法,如保留抽象層和避免vendor lock-in。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News