# translation of tdecachegrind.po to Chinese Traditional # # Frank Weng (a.k.a. Franklin) , 2006. # Franklin Weng , 2007. # Chih-Wei Huang , 2007. msgid "" msgstr "" "Project-Id-Version: tdecachegrind\n" "POT-Creation-Date: 2019-01-13 19:01+0100\n" "PO-Revision-Date: 2007-10-03 10:39+0800\n" "Last-Translator: Chih-Wei Huang \n" "Language-Team: Chinese Traditional \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" #: _translatorinfo:1 msgid "" "_: NAME OF TRANSLATORS\n" "Your names" msgstr "Frank Weng (a.k.a. Franklin),Franklin Weng" #: _translatorinfo:2 msgid "" "_: EMAIL OF TRANSLATORS\n" "Your emails" msgstr "franklin at goodhorse dot idv dot tw" #: cachegrindloader.cpp:141 msgid "Import filter for Cachegrind/Callgrind generated profile data files" msgstr "Cachegrind/Callgrind 產生的分析檔資料檔匯入過濾器" #: cachegrindloader.cpp:738 #, c-format msgid "Loading %1" msgstr "載入 %1 中" #: callgraphview.cpp:306 #, c-format msgid "Call(s) from %1" msgstr "從 %1 來的呼叫" #: callgraphview.cpp:307 #, c-format msgid "Call(s) to %1" msgstr "呼叫 %1" #: callgraphview.cpp:308 msgid "(unknown call)" msgstr "(未知的呼叫)" #: callgraphview.cpp:1425 msgid "" "Call Graph around active Function

Depending on configuration, this " "view shows the call graph environment of the active function. Note: the " "shown cost is only the cost which is spent while the active function " "was actually running; i.e. the cost shown for main() - if it's visible - " "should be the same as the cost of the active function, as that's the part of " "inclusive cost of main() spent while the active function was running.

For cycles, blue call arrows indicate that this is an artificial call " "added for correct drawing which actually never happened.

If the graph " "is larger than the widget area, an overview panner is shown in one edge. " "There are similar visualization options to the Call Treemap; the selected " "function is highlighted.

" msgstr "" "活躍函式的呼叫圖環境

根據設定,此檢視顯示活躍函式的呼叫圖環境。注" "意:顯示的花費只表示此函式執行中的花費,也就是說,main() 函式顯示的花費會跟此" "函式的花費一樣,因為那是 main() 的引入花費。

對循環而言,藍色的呼叫箭" "頭表示是人工加上去修正的,實際上不會發生。

如果此圖大於元件的大小,則" "會在一邊顯示略圖。類似呼叫樹狀圖的視覺選項,選取的函式會被突顯。

" #: callgraphview.cpp:1789 msgid "" "Warning: a long lasting graph layouting is in progress.\n" "Reduce node/edge limits for speedup.\n" msgstr "" "警告:正在進行長而持續的佈局作業。\n" "要加速,請降低節點與邊線的限制。\n" #: callgraphview.cpp:1792 msgid "Layouting stopped.\n" msgstr "佈局停止。\n" #: callgraphview.cpp:1794 msgid "The call graph has %1 nodes and %2 edges.\n" msgstr "呼叫圖中含有 %1 個節點與 %2 個邊線。\n" #: callgraphview.cpp:1827 msgid "No item activated for which to draw the call graph." msgstr "沒有激發要繪製呼叫圖的項目。" #: callgraphview.cpp:1838 msgid "No call graph can be drawn for the active item." msgstr "沒有目前活躍的項目可繪製呼叫圖。" #: callgraphview.cpp:1867 msgid "" "No call graph is available because the following\n" "command cannot be run:\n" "'%1'\n" msgstr "" "沒有可用的呼叫圖,因為以下的指令無法執行:\n" "%1\n" #: callgraphview.cpp:1870 callgraphview.cpp:2199 msgid "Please check that 'dot' is installed (package GraphViz)." msgstr "請檢查 dot 已安裝(在 GraphViz 套件中)" #: callgraphview.cpp:2198 msgid "Error running the graph layouting tool.\n" msgstr "執行圖形佈局工具時發生錯誤。\n" #: callgraphview.cpp:2206 msgid "" "There is no call graph available for function\n" "\t'%1'\n" "because it has no cost of the selected event type." msgstr "沒有函式 %1 的呼叫圖,因為沒有所選取事件型態的花費。" #: callgraphview.cpp:2396 callgraphview.cpp:2400 callgraphview.cpp:2418 #: callview.cpp:123 callview.cpp:128 coverageview.cpp:166 instrview.cpp:191 #: sourceview.cpp:116 msgid "Go to '%1'" msgstr "跳到 %1" #: callgraphview.cpp:2427 msgid "Stop Layouting" msgstr "停止佈局" #: callgraphview.cpp:2435 msgid "As PostScript" msgstr "為 PostScript 檔" #: callgraphview.cpp:2436 msgid "As Image ..." msgstr "為影像檔..." #: callgraphview.cpp:2438 msgid "Export Graph" msgstr "匯出圖形" #: callgraphview.cpp:2443 callgraphview.cpp:2466 msgid "Unlimited" msgstr "無限制" #: callgraphview.cpp:2446 callgraphview.cpp:2469 msgid "None" msgstr "無" #: callgraphview.cpp:2447 callgraphview.cpp:2470 msgid "max. 2" msgstr "最大 2" #: callgraphview.cpp:2448 callgraphview.cpp:2471 msgid "max. 5" msgstr "最大 5" #: callgraphview.cpp:2449 callgraphview.cpp:2472 msgid "max. 10" msgstr "最大 10" #: callgraphview.cpp:2450 callgraphview.cpp:2473 msgid "max. 15" msgstr "最大 15" #: callgraphview.cpp:2460 callgraphview.cpp:2483 #, c-format msgid "< %1" msgstr "< %1" #: callgraphview.cpp:2489 msgid "No Minimum" msgstr "無最小值" #: callgraphview.cpp:2493 #, c-format msgid "50 %" msgstr "50 %" #: callgraphview.cpp:2494 #, c-format msgid "20 %" msgstr "20 %" #: callgraphview.cpp:2495 #, c-format msgid "10 %" msgstr "10 %" #: callgraphview.cpp:2496 #, c-format msgid "5 %" msgstr "5 %" #: callgraphview.cpp:2497 #, c-format msgid "3 %" msgstr "3 %" #: callgraphview.cpp:2498 #, c-format msgid "2 %" msgstr "2 %" #: callgraphview.cpp:2499 #, c-format msgid "1.5 %" msgstr "1.5 %" #: callgraphview.cpp:2500 #, c-format msgid "1 %" msgstr "1 %" #: callgraphview.cpp:2516 msgid "Same as Node" msgstr "與節點相同" #: callgraphview.cpp:2517 #, c-format msgid "50 % of Node" msgstr "50% 的節點" #: callgraphview.cpp:2518 #, c-format msgid "20 % of Node" msgstr "20% 的節點" #: callgraphview.cpp:2519 #, c-format msgid "10 % of Node" msgstr "10% 的節點" #: callgraphview.cpp:2529 msgid "Caller Depth" msgstr "呼叫者深度" #: callgraphview.cpp:2530 msgid "Callee Depth" msgstr "被呼叫者深度" #: callgraphview.cpp:2531 msgid "Min. Node Cost" msgstr "最小節點花費" #: callgraphview.cpp:2532 msgid "Min. Call Cost" msgstr "最小呼叫花費" #: callgraphview.cpp:2534 msgid "Arrows for Skipped Calls" msgstr "被略過呼叫的箭頭" #: callgraphview.cpp:2536 msgid "Inner-cycle Calls" msgstr "內部循環呼叫" #: callgraphview.cpp:2538 msgid "Cluster Groups" msgstr "叢集群組" #: callgraphview.cpp:2543 msgid "Compact" msgstr "簡潔" #: callgraphview.cpp:2544 msgid "Normal" msgstr "正常" #: callgraphview.cpp:2545 msgid "Tall" msgstr "高" #: callgraphview.cpp:2550 msgid "Top to Down" msgstr "上到下" #: callgraphview.cpp:2551 msgid "Left to Right" msgstr "左到右" #: callgraphview.cpp:2552 msgid "Circular" msgstr "圓形" #: callgraphview.cpp:2558 msgid "TopLeft" msgstr "左上方" #: callgraphview.cpp:2559 msgid "TopRight" msgstr "右上方" #: callgraphview.cpp:2560 msgid "BottomLeft" msgstr "左下方" #: callgraphview.cpp:2561 msgid "BottomRight" msgstr "右下方" #: callgraphview.cpp:2562 configdlgbase.ui:246 configdlgbase.ui:286 #: configdlgbase.ui:302 #, no-c-format msgid "Automatic" msgstr "自動" #: callgraphview.cpp:2569 msgid "Graph" msgstr "圖" #: callgraphview.cpp:2570 partselection.cpp:320 msgid "Visualization" msgstr "視覺化" #: callgraphview.cpp:2571 msgid "Birds-eye View" msgstr "鳥瞰檢視" #: callitem.cpp:82 partlistitem.cpp:152 msgid "(active)" msgstr "(活躍)" #: callmapview.cpp:59 dumpselectionbase.ui:550 partselection.cpp:58 #, no-c-format msgid "Name" msgstr "名稱" #: callmapview.cpp:60 callview.cpp:44 instrview.cpp:126 partselection.cpp:59 #: sourceview.cpp:51 stackselectionbase.ui:31 #, no-c-format msgid "Cost" msgstr "花費" #: callmapview.cpp:61 dumpselectionbase.ui:950 functionselectionbase.ui:147 #, no-c-format msgid "Location" msgstr "位置" #: callmapview.cpp:63 dumpselectionbase.ui:754 stackselectionbase.ui:53 #, no-c-format msgid "Calls" msgstr "呼叫" #: callmapview.cpp:98 msgid "" "Caller Map

This graph shows the nested hierarchy of all callers of " "the current activated function. Each colored rectangle represents a " "function; its size tries to be proportional to the cost spent therein while " "the active function is running (however, there are drawing constrains).

" msgstr "" "呼叫者地圖

這個圖形顯示目前活躍的函式所有呼叫者的巢狀架構。每個彩色" "的矩形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限" "制,所以是盡量成比例)。

" #: callmapview.cpp:105 msgid "" "Call Map

This graph shows the nested hierarchy of all callees of " "the current activated function. Each colored rectangle represents a " "function; its size tries to be proportional to the cost spent therein while " "the active function is running (however, there are drawing constrains).

" msgstr "" "呼叫地圖

這個圖形顯示目前活躍的函式所有呼叫的巢狀架構。每個彩色的矩" "形表示一個函式,大小會與該函式執行時的花費成比例。(不過畫圖形時會有所限制," "所以是盡量成比例)。

" #: callmapview.cpp:113 msgid "" "

Appearance options can be found in the in the context menu. To get exact " "size proportions, choose 'Hide incorrect borders'. As this mode can be " "very time consuming, you may want to limit the maximum drawn " "nesting level before. 'Best' determinates the split direction for children " "from the aspect ratio of the parent. 'Always Best' decides on remaining " "space for each sibling. 'Ignore Proportions' takes space for function name " "drawing before drawing children. Note that size proportions can get " "heavily wrong.

This is a TreeMap widget. Keyboard " "navigation is available with the left/right arrow keys for traversing " "siblings, and up/down arrow keys to go a nesting level up/down. Return activates the current item.

" msgstr "" "

外觀選項可以在選單中找到。要取得精準的大小比例,選擇「隱藏不正確的框線」。" "這個模式可能會非常花時間,您可能要先限制一下最多的巢狀等級。「最佳」" "會依父函式的比例來分離子函式的方向。「總是最佳」會依剩餘空間來決定。「忽略比" "例」會在畫子函式前先保留函式名稱空間。注意大小的比例有可能會錯得很離譜。

" "

有一種「樹狀地圖」元件。可以用鍵盤左右鍵來導覽所有的子節點,上下鍵則可以進" "出巢狀等級。Enter 鍵會啟動目前的項目。

" #: callmapview.cpp:167 msgid "Go To" msgstr "跳到" #: callmapview.cpp:184 msgid "Stop at Depth" msgstr "停止於深度" #: callmapview.cpp:187 treemap.cpp:3101 msgid "No Depth Limit" msgstr "沒有深度限制" #: callmapview.cpp:190 msgid "Depth 10" msgstr "深度 10" #: callmapview.cpp:192 msgid "Depth 15" msgstr "深度 15" #: callmapview.cpp:194 msgid "Depth 20" msgstr "深度 20" #: callmapview.cpp:198 treemap.cpp:3107 msgid "Depth of '%1' (%2)" msgstr "%1 的深度(%2)" #: callmapview.cpp:204 msgid "Decrement Depth (to %1)" msgstr "遞減深度(到 %1)" #: callmapview.cpp:205 msgid "Increment Depth (to %1)" msgstr "遞增深度(到 %1)" #: callmapview.cpp:209 msgid "Stop at Function" msgstr "停止於函式" #: callmapview.cpp:210 msgid "No Function Limit" msgstr "無函式限制" #: callmapview.cpp:240 msgid "Stop at Area" msgstr "停止於區域" #: callmapview.cpp:243 treemap.cpp:3039 msgid "No Area Limit" msgstr "沒有區域限制" #: callmapview.cpp:246 msgid "50 Pixels" msgstr "50 像素" #: callmapview.cpp:248 msgid "100 Pixels" msgstr "100 像素" #: callmapview.cpp:250 msgid "200 Pixels" msgstr "200 像素" #: callmapview.cpp:252 msgid "500 Pixels" msgstr "500 像素" #: callmapview.cpp:258 treemap.cpp:3045 msgid "Area of '%1' (%2)" msgstr "%1 的區域 (%2)" #: callmapview.cpp:264 treemap.cpp:3071 msgid "Double Area Limit (to %1)" msgstr "將區域限制加倍(到 %1)" #: callmapview.cpp:266 msgid "Half Area Limit (to %1)" msgstr "將區域限制減半(到 %1)" #: callmapview.cpp:273 msgid "Visualisation" msgstr "視覺化" #: callmapview.cpp:277 msgid "Split Direction" msgstr "分割方向" #: callmapview.cpp:279 msgid "Skip Incorrect Borders" msgstr "略過不正確的邊框" #: callmapview.cpp:284 msgid "Border Width" msgstr "邊框寬度" #: callmapview.cpp:285 msgid "Border 0" msgstr "邊框 0" #: callmapview.cpp:288 msgid "Border 1" msgstr "邊框 1" #: callmapview.cpp:290 msgid "Border 2" msgstr "邊框 2" #: callmapview.cpp:292 msgid "Border 3" msgstr "邊框 3" #: callmapview.cpp:297 msgid "Draw Symbol Names" msgstr "繪製符號名稱" #: callmapview.cpp:298 msgid "Draw Cost" msgstr "繪製花費" #: callmapview.cpp:299 msgid "Draw Location" msgstr "繪製位置" #: callmapview.cpp:300 msgid "Draw Calls" msgstr "繪製呼叫" #: callmapview.cpp:303 partselection.cpp:342 msgid "Ignore Proportions" msgstr "忽略屬性" #: callmapview.cpp:304 partselection.cpp:344 treemap.cpp:2887 msgid "Allow Rotation" msgstr "允許旋轉" #: callmapview.cpp:321 treemap.cpp:2889 msgid "Shading" msgstr "遮蔽" #: callmapview.cpp:431 msgid "Call Map: Current is '%1'" msgstr "呼叫映射:目前是 %1" #: callmapview.cpp:599 msgid "(no function)" msgstr "(無函式)" #: callmapview.cpp:741 callmapview.cpp:858 msgid "(no call)" msgstr "(無呼叫)" #: callview.cpp:45 instrview.cpp:127 sourceview.cpp:52 msgid "Cost 2" msgstr "花費 2" #: callview.cpp:47 callview.cpp:51 msgid "Count" msgstr "計數" #: callview.cpp:48 coverageview.cpp:50 msgid "Caller" msgstr "呼叫者" #: callview.cpp:52 coverageview.cpp:56 msgid "Callee" msgstr "被呼叫者" #: callview.cpp:85 msgid "" "List of direct Callers

This list shows all functions calling the " "current selected one directly, together with a call count and the cost spent " "in the current selected function while being called from the function from " "the list.

An icon instead of an inclusive cost specifies that this is " "a call inside of a recursive cycle. An inclusive cost makes no sense here.

Selecting a function makes it the current selected one of this " "information panel. If there are two panels (Split mode), the function of the " "other panel is changed instead.

" msgstr "" "直接呼叫者清單

這個清單顯示直接呼叫目前選取函式的所有函式,以及呼叫" "次數與呼叫花費。

如果顯示一圖示而非引入花費,則表示這個呼叫是在遞迴循" "環之中。引入花費在此沒有意義。

選擇某個函式會在目前資訊面板的顯示中跳" "到該函式。如果有兩個面板(分割模式),則會變換另一個面板的函式。

" #: callview.cpp:98 msgid "" "List of direct Callees

This list shows all functions called by the " "current selected one directly, together with a call count and the cost spent " "in this function while being called from the selected function.

Selecting a function makes it the current selected one of this " "information panel. If there are two panels (Split mode), the function of the " "other panel is changed instead.

" msgstr "" "直接被呼叫者清單

這個清單顯示目前選取函式直接呼叫的所有函式,以及呼" "叫次數與呼叫花費。

選擇某個函式會在目前資訊面板的顯示中跳到該函式。如" "果有兩個面板(分割模式),則會變換另一個面板的函式。

" #: configdlg.cpp:58 dumpselectionbase.ui:824 #, no-c-format msgid "ELF Objects" msgstr "ELF 物件" #: configdlg.cpp:60 msgid "Source Files" msgstr "程式源碼檔案" #: configdlg.cpp:61 msgid "C++ Classes" msgstr "C++ 類別" #: configdlg.cpp:62 msgid "Function (no Grouping)" msgstr "功能(無群組)" #: configdlg.cpp:157 configdlg.cpp:350 configdlg.cpp:371 msgid "(always)" msgstr "(總是)" #: configdlg.cpp:210 msgid "KCachegrind Configuration" msgstr "KCachegrind 設定" #: configdlg.cpp:211 msgid "" "The Maximum Number of List Items should be below 500.The previous set value " "(%1) will still be used." msgstr "最大的清單項目數應該在 500 以下。將改用之前的設定值(%1)。" #: configdlg.cpp:384 msgid "Choose Source Folder" msgstr "選擇來源資料夾" #: configuration.cpp:67 msgid "Instruction Fetch" msgstr "指令抓取" #: configuration.cpp:68 msgid "Data Read Access" msgstr "資料讀取存取" #: configuration.cpp:69 msgid "Data Write Access" msgstr "資料寫入存取" #: configuration.cpp:70 msgid "L1 Instr. Fetch Miss" msgstr "L1 指令抓取失誤" #: configuration.cpp:71 msgid "L1 Data Read Miss" msgstr "L1 資料讀取失誤" #: configuration.cpp:72 msgid "L1 Data Write Miss" msgstr "L1 資料寫入失誤" #: configuration.cpp:73 msgid "L2 Instr. Fetch Miss" msgstr "L2 指令抓取失誤" #: configuration.cpp:74 msgid "L2 Data Read Miss" msgstr "L2 資料讀取失誤" #: configuration.cpp:75 msgid "L2 Data Write Miss" msgstr "L2 資料寫入失誤" #: configuration.cpp:76 #, fuzzy msgid "LL Instr. Fetch Miss" msgstr "L1 指令抓取失誤" #: configuration.cpp:77 #, fuzzy msgid "LL Data Read Miss" msgstr "L1 資料讀取失誤" #: configuration.cpp:78 #, fuzzy msgid "LL Data Write Miss" msgstr "L1 資料寫入失誤" #: configuration.cpp:79 msgid "Samples" msgstr "樣本" #: configuration.cpp:80 msgid "System Time" msgstr "系統時間" #: configuration.cpp:81 msgid "User Time" msgstr "使用者時間" #: configuration.cpp:82 msgid "L1 Miss Sum" msgstr "L1 失誤總和" #: configuration.cpp:83 msgid "L2 Miss Sum" msgstr "L2 失誤總和" #: configuration.cpp:84 #, fuzzy msgid "LL Miss Sum" msgstr "L1 失誤總和" #: configuration.cpp:85 msgid "Cycle Estimation" msgstr "循環估計" #: costlistitem.cpp:60 #, c-format msgid "" "_n: (%n item skipped)\n" "(%n items skipped)" msgstr "略過 %n 個項目" #: costtypeitem.cpp:56 msgid "Unknown Type" msgstr "未知類型" #: costtypeview.cpp:42 msgid "Event Type" msgstr "事件類型" #: costtypeview.cpp:43 coverageview.cpp:46 dumpselectionbase.ui:917 #: functionselectionbase.ui:103 partview.cpp:47 #, no-c-format msgid "Incl." msgstr "引入" #: costtypeview.cpp:44 coverageview.cpp:53 functionselectionbase.ui:62 #: functionselectionbase.ui:114 partview.cpp:48 #, no-c-format msgid "Self" msgstr "自身" #: costtypeview.cpp:45 msgid "Short" msgstr "短" #: costtypeview.cpp:47 msgid "Formula" msgstr "公式" #: costtypeview.cpp:81 msgid "" "Cost Types List

This list shows all cost types available and what " "the self/inclusive cost of the current selected function is for that cost " "type.

By choosing a cost type from the list, you change the cost type " "of costs shown all over KCachegrind to be the selected one.

" msgstr "" "花費類型清單

這份清單顯示所有可用的花費類型(cost type)以及目前所選" "取的函式在該類型的自身與引入的花費。

選取其中一種類型,您可以改變所有 " "KCachegrind 的花費成為該類型。

" #: costtypeview.cpp:98 msgid "Set Secondary Event Type" msgstr "設定次要事件類型" #: costtypeview.cpp:100 msgid "Remove Secondary Event Type" msgstr "移除次要事件類型" #: costtypeview.cpp:105 msgid "Edit Long Name" msgstr "編輯長名稱" #: costtypeview.cpp:106 msgid "Edit Short Name" msgstr "編輯短名稱" #: costtypeview.cpp:107 msgid "Edit Formula" msgstr "編輯公式" #: costtypeview.cpp:115 msgid "New Cost Type ..." msgstr "新增花費類型..." #: costtypeview.cpp:149 costtypeview.cpp:154 #, c-format msgid "New%1" msgstr "新增%1" #: costtypeview.cpp:155 #, c-format msgid "New Cost Type %1" msgstr "新增花費類型 %1" #: coverageitem.cpp:65 coverageitem.cpp:205 functionitem.cpp:72 #, c-format msgid "" "_n: (%n function skipped)\n" "(%n functions skipped)" msgstr "(已略過 %n 個函式)" #: coverageview.cpp:48 coverageview.cpp:54 msgid "Distance" msgstr "距離" #: coverageview.cpp:49 dumpselectionbase.ui:928 functionselectionbase.ui:125 #: partview.cpp:49 #, no-c-format msgid "Called" msgstr "已呼叫" #: coverageview.cpp:55 msgid "Calling" msgstr "呼叫中" #: coverageview.cpp:90 msgid "" "List of all Callers

This list shows all functions calling the " "current selected one, either directly or with several functions in-between " "on the stack; the number of functions in-between plus one is called the " "Distance (e.g. for function A,B,C there exists a call from A to C " "when A calls B and B calls C, i.e. A => B => C. The distance here is 2).

Absolute cost shown is the cost spent in the selected function while a " "listed function is active; relative cost is the percentage of all cost spent " "in the selected function while the listed one is active. The cost graphic " "shows logarithmic percentage with a different color for each distance.

As there can be many calls from the same function, the distance column " "sometimes shows the range of distances for all calls happening; then, in " "parentheses, there is the medium distance, i.e. the distance where most of " "the call costs happened.

Selecting a function makes it the current " "selected one of this information panel. If there are two panels (Split " "mode), the function of the other panel is changed instead.

" msgstr "" "所有呼叫者清單

此清單顯示目前選取函式的所有呼叫者函式,包括直接呼叫" "與間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B " "又呼叫函式 C,則函式 A 到 C 的距離為 2)

顯示的「絕對花費」是當一個已" "列出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花" "費圖形以對每個距離以不同顏色顯示對數百分比。

因為有可能同一個函式中會" "有許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧" "中顯示的是平均距離,也就是發生呼叫最多花費的地方。

選擇某函式可以看每" "個函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。

" #: coverageview.cpp:120 msgid "" "List of all Callees

This list shows all functions called by the " "current selected one, either directly or with several function in-between on " "the stack; the number of function in-between plus one is called the " "Distance (e.g. for function A,B,C there exists a call from A to C " "when A calls B and B calls C, i.e. A => B => C. The distance here is 2).

Absolute cost shown is the cost spent in the listed function while the " "selected is active; relative cost is the percentage of all cost spent in the " "listed function while the selected one is active. The cost graphic always " "shows logarithmic percentage with a different color for each distance.

As there can be many calls to the same function, the distance column " "sometimes shows the range of distances for all calls happening; then, in " "parentheses, there is the medium distance, i.e. the distance where most of " "the call costs happened.

Selecting a function makes it the current " "selected one of this information panel. If there are two panels (Split " "mode), the function of the other panel is changed instead.

" msgstr "" "被呼叫者清單

這份清單顯示所有被目前選取的函式呼叫的函式,包括直接與" "間接呼叫。間接呼叫的數字加一稱為「距離」(例如,函式 A 呼叫函式 B,函式 B 又" "呼叫函式 C,則函式 A 到 C 的距離為 2)

顯示的「絕對花費」是當一個已列" "出的所選函式使用時的花費;「相對花費」是此函式相對於所有已選函式的花費。花費" "圖形以對每個距離以不同顏色顯示對數百分比。

因為有可能同一個函式中會有" "許多呼叫,距離欄位有時會顯示所有發生呼叫的函式的距離範圍,這種狀況下,括弧中" "顯示的是平均距離,也就是發生呼叫最多花費的地方。

選擇某函式可以看每個" "函式的資訊。如果在分割模式下的兩個面板,會在另一個面板改變。

" #: functionselection.cpp:52 toplevel.cpp:772 msgid "(No Grouping)" msgstr "(無群組)" #: functionselection.cpp:176 #, c-format msgid "Go to %1" msgstr "跳到 %1" #: functionselection.cpp:203 msgid "Show All Items" msgstr "顯示全部項目" #: functionselection.cpp:226 msgid "No Grouping" msgstr "未群組" #: functionselection.cpp:243 toplevel.cpp:763 msgid "Grouping" msgstr "群組" #: instritem.cpp:106 sourceitem.cpp:86 msgid "Active call to '%1'" msgstr "使用中到 %1 的呼叫" #: instritem.cpp:108 sourceitem.cpp:88 msgid "" "_n: %n call to '%1'\n" "%n calls to '%1'" msgstr "%n 個到 %1 的呼叫" #: instritem.cpp:137 msgid "Jump %1 of %2 times to 0x%3" msgstr "跳躍到 0x%3 %1 次,共要 %2 次" #: instritem.cpp:142 msgid "Jump %1 times to 0x%2" msgstr "跳躍到 0x%2 %1 次" #: instritem.cpp:185 sourceitem.cpp:169 msgid "(cycle)" msgstr "(循環)" #: dumpselectionbase.ui:906 instrview.cpp:125 sourceview.cpp:50 #, no-c-format msgid "#" msgstr "#" #: instrview.cpp:129 msgid "Hex" msgstr "十六進位值" #: instrview.cpp:131 tabview.cpp:313 msgid "Assembler" msgstr "組譯器" #: instrview.cpp:132 msgid "Source Position" msgstr "源碼位置" #: instrview.cpp:163 msgid "" "Annotated Assembler

The annotated assembler list shows the machine " "code instructions of the current selected function together with (self) cost " "spent while executing an instruction. If this is a call instruction, lines " "with details on the call happening are inserted into the source: the cost " "spent inside of the call, the number of calls happening, and the call " "destination.

The disassembler output shown is generated with the " "'objdump' utility from the 'binutils' package.

Select a line with call " "information to make the destination function of this call current.

" msgstr "" "註記組譯器(Annotated Assembler)

註記組譯器顯示目前選取的函式的機" "器碼指令,以及執行該指令時的花費。如果是呼叫指令,則呼叫時發生的詳情會插入到" "源碼中,包括呼叫的花費,呼叫的次數,以及呼叫的目的地。

反組譯輸出可以" "用 objdump 產生,通常會包在 binutils 套件中。

選取呼叫資訊中的某一行可" "以眺到被呼叫的函式。

" #: instrview.cpp:195 #, c-format msgid "Go to Address %1" msgstr "跳到位址 %1" #: instrview.cpp:207 msgid "Hex Code" msgstr "十六進位碼" #: instrview.cpp:426 msgid "There is no instruction info in the profile data file." msgstr "此分析資料檔中沒有指令資訊。" #: instrview.cpp:428 msgid "For the Valgrind Calltree Skin, rerun with option" msgstr "要用 Valgrind Calltree Skin,請重新執行並指定選項" #: instrview.cpp:429 msgid " --dump-instr=yes" msgstr " --dump-instr=yes" #: instrview.cpp:430 msgid "To see (conditional) jumps, additionally specify" msgstr "想要看條件式的跳躍,請額外指定選項" #: instrview.cpp:431 msgid " --trace-jump=yes" msgstr " --trace-jump=yes" #: instrview.cpp:629 msgid "There is an error trying to execute the command" msgstr "執行此指令時發生錯誤" #: instrview.cpp:634 instrview.cpp:900 msgid "Check that you have installed 'objdump'." msgstr "請檢查您是否已安裝 objdump。" #: instrview.cpp:636 instrview.cpp:902 msgid "This utility can be found in the 'binutils' package." msgstr "這個工具可以在 binutils 套件中找到。" #: instrview.cpp:739 msgid "(No Assembler)" msgstr "(沒有組譯器)" #: instrview.cpp:875 #, c-format msgid "" "_n: There is %n cost line without assembler code.\n" "There are %n cost lines without assembler code." msgstr "有 %n 個花費線沒有組譯碼。" #: instrview.cpp:877 msgid "This happens because the code of" msgstr "發生的原因是因為這個的程式碼:" #: instrview.cpp:880 msgid "does not seem to match the profile data file." msgstr "似乎無法符合此分析資料檔。" #: instrview.cpp:883 msgid "Are you using an old profile data file or is the above mentioned" msgstr "您正使用舊的分析資料檔,還是像上面提到的" #: instrview.cpp:885 msgid "ELF object from an updated installation/another machine?" msgstr "這是從已更新的安裝或其他機器來的 ELF 物件嗎?" #: instrview.cpp:893 msgid "There seems to be an error trying to execute the command" msgstr "試著執行此命令時發生錯誤" #: instrview.cpp:898 msgid "Check that the ELF object used in the command exists." msgstr "請檢查命令中使用的 ELF 物件存在。" #: main.cpp:38 msgid "Run under cachegrind" msgstr "在 cachegrind 下執行" #: main.cpp:39 msgid "Show information of this trace" msgstr "顯示此追蹤的資訊" #: main.cpp:46 msgid "KCachegrind" msgstr "KCachegrind" #: main.cpp:48 msgid "TDE Frontend for Cachegrind" msgstr "Cachegrind 的 TDE 前端程式" #: main.cpp:50 msgid "(C) 2002, 2003, 2004" msgstr "(c) 2002, 2003, 2004" #: main.cpp:53 msgid "Author/Maintainer" msgstr "作者/維護者" #: partgraph.cpp:167 #, c-format msgid "Profile Part %1" msgstr "分析檔部件 %1" #: partgraph.cpp:226 msgid "(no trace)" msgstr "(無追蹤)" #: partgraph.cpp:229 msgid "(no part)" msgstr "(無部件)" #: partgraph.cpp:423 tracedata.cpp:249 tracedata.cpp:254 tracedata.cpp:2824 #: tracedata.cpp:3241 tracedata.cpp:3327 tracedata.cpp:4165 tracedata.cpp:4173 #: tracedata.cpp:4238 msgid "(unknown)" msgstr "(未知)" #: partlistitem.cpp:49 msgid " (Thread %1)" msgstr "(執行緒 %1)" #: partlistitem.cpp:56 msgid "(none)" msgstr "(無)" #: partselection.cpp:151 msgid "Profile Part Overview: Current is '%1'" msgstr "分析檔部件概觀。目前為 %1" #: partselection.cpp:287 msgid "Deselect" msgstr "取消選擇" #: partselection.cpp:287 partselection.cpp:311 msgid "Select" msgstr "選擇" #: partselection.cpp:292 msgid "Select All Parts" msgstr "選擇全部的部件" #: partselection.cpp:294 msgid "Visible Parts" msgstr "可見的部件" #: partselection.cpp:296 msgid "Hide Selected Parts" msgstr "隱藏已選取的部件" #: partselection.cpp:297 msgid "Unhide Hidden Parts" msgstr "重新顯示隱藏的部件" #: partselection.cpp:302 toplevel.cpp:1687 msgid "Go Back" msgstr "返回" #: partselection.cpp:322 msgid "Partitioning Mode" msgstr "切割模式" #: partselection.cpp:323 msgid "Diagram Mode" msgstr "繪圖模式" #: partselection.cpp:324 msgid "Zoom Function" msgstr "縮放函式" #: partselection.cpp:325 msgid "Show Direct Calls" msgstr "顯示直接呼叫" #: partselection.cpp:326 msgid "Increment Shown Call Levels" msgstr "遞增顯示呼叫等級" #: partselection.cpp:340 msgid "Draw Names" msgstr "繪製名稱" #: partselection.cpp:341 msgid "Draw Costs" msgstr "繪製花費" #: partselection.cpp:343 msgid "Draw Frames" msgstr "繪製框架" #: partselection.cpp:359 msgid "Hide Info" msgstr "隱藏資訊" #: partselection.cpp:361 msgid "Show Info" msgstr "顯示資訊" #: partselection.cpp:541 msgid "(no trace loaded)" msgstr "(未載入追蹤)" #: partview.cpp:46 tracedata.cpp:179 msgid "Profile Part" msgstr "分析檔部件" #: partview.cpp:51 msgid "Comment" msgstr "註解" #: partview.cpp:73 msgid "" "Trace Part List

This list shows all trace parts of the loaded " "trace. For each part, the self/inclusive cost of the current selected " "function, spent in the part, is shown; percentage costs are always relative " "to the total cost of the part (not to the whole trace as in the " "Trace Part Overview). Also shown are the calls happening to/from the current " "function inside of the trace part.

By choosing one or more trace parts " "from the list, the costs shown all over KCachegrind will only be the ones " "spent in the selected part(s). If no list selection is shown, in fact all " "trace parts are selected implicitly.

This is a multi-selection list. " "You can select ranges by dragging the mouse or use SHIFT/CTRL modifiers. " "Selection/Deselection of trace parts can also be done by using the Trace " "Part Overview Dockable. This one also supports multiple selection.

Note that the list is hidden if only one trace part is loaded.

" msgstr "" "追蹤部件清單

這份清單顯示載入的追蹤的所有追蹤部件。每個部件中包含目" "前選取的函式在該部件中的自身與引入的花費,百分比是相對於該部件的總花費(不是" "追蹤部件概觀中的總花費)。另外也會呼叫目前函式的呼叫者與被呼叫者。

若" "從清單中選擇追蹤部件,就只會顯示選取的部件的花費。如果沒有選擇任何部件,則預" "設是選取所有的部件。

這是可以多重選擇的清單,您可以拖曳滑鼠來選取一個" "範圍,或是用 Shift 或 Ctrl 鍵來在「追蹤部件概觀」元件中選擇部件。

注意" "若是只載入一個追蹤部件,則此元件是隱藏的。

" #: partview.cpp:106 msgid "Select '%1'" msgstr "選擇 %1" #: partview.cpp:107 msgid "Hide '%1'" msgstr "隱藏 %1" #: partview.cpp:111 msgid "Hide Selected" msgstr "隱藏已選取項目" #: partview.cpp:112 msgid "Show All" msgstr "全部顯示" #: sourceitem.cpp:125 msgid "Jump %1 of %2 times to %3" msgstr "跳到 %3 %1 次,總共需要 %2 次" #: sourceitem.cpp:130 msgid "Jump %1 times to %2" msgstr "跳躍到 %2 %1 次" #: sourceview.cpp:54 sourceview.cpp:554 msgid "Source (unknown)" msgstr "程式源碼(未知)" #: sourceview.cpp:89 msgid "" "Annotated Source

The annotated source list shows the source lines " "of the current selected function together with (self) cost spent while " "executing the code of this source line. If there was a call in a source " "line, lines with details on the call happening are inserted into the source: " "the cost spent inside of the call, the number of calls happening, and the " "call destination.

Select a inserted call information line to make the " "destination function current.

" msgstr "" "註記源碼

註記源碼清單顯示目前所選取的函式源碼,以及其執行時的花費。" "如果在源碼中有呼叫,則呼叫發生時的詳情會被插入源碼中,包括呼叫時的花費,呼叫" "的數量以及呼叫的目的地。

選取被插入的呼叫資訊可以眺到該函式。

" #: sourceview.cpp:120 #, c-format msgid "Go to Line %1" msgstr "跳到第 %1 行" #: sourceview.cpp:293 msgid "(No Source)" msgstr "(無程式源碼)" #: sourceview.cpp:512 msgid "There is no cost of current selected type associated" msgstr "沒有與目前選取的型態相關的花費" #: sourceview.cpp:514 msgid "with any source line of this function in file" msgstr "與檔案中此函式的任何程式碼" #: sourceview.cpp:518 msgid "Thus, no annotated source can be shown." msgstr "因此,沒有註記來源可以顯示。" #: sourceview.cpp:553 msgid "Source ('%1')" msgstr "程式源碼(%1)" #: sourceview.cpp:559 msgid "--- Inlined from '%1' ---" msgstr "--- 從 %1 引入 ---" #: sourceview.cpp:560 msgid "--- Inlined from unknown source ---" msgstr "--- 從未知的來源引入 ---" #: sourceview.cpp:565 msgid "There is no source available for the following function:" msgstr "以下的函式沒有源碼可參考:" #: sourceview.cpp:570 msgid "This is because no debug information is present." msgstr "這是因為沒有除錯資訊。" #: sourceview.cpp:572 msgid "Recompile source and redo the profile run." msgstr "重新編譯來源並重新執行此分析檔。" #: sourceview.cpp:575 msgid "The function is located in this ELF object:" msgstr "這個函式位於此 ELF 物件中:" #: sourceview.cpp:583 msgid "This is because its source file cannot be found:" msgstr "這是因為它的程式源碼檔找不到:" #: sourceview.cpp:587 msgid "Add the folder of this file to the source folder list." msgstr "新增此檔案所在的資料夾到程式源碼資料夾清單中。" #: sourceview.cpp:589 msgid "The list can be found in the configuration dialog." msgstr "這個清單可以在設定對話框中找到。" #: tabview.cpp:64 msgid "Move to Top" msgstr "移動到頂端" #: tabview.cpp:68 msgid "Move to Right" msgstr "移動到右方" #: tabview.cpp:72 msgid "Move to Bottom" msgstr "移動到底端" #: tabview.cpp:76 msgid "Move to Bottom Left" msgstr "移動到左下方" #: tabview.cpp:77 tabview.cpp:94 treemap.cpp:2908 msgid "Bottom Left" msgstr "左下方" #: tabview.cpp:79 msgid "Move Area To" msgstr "移動區域到" #: tabview.cpp:81 msgid "Hide This Tab" msgstr "隱藏此分頁" #: tabview.cpp:82 msgid "Hide Area" msgstr "隱藏範圍" #: tabview.cpp:95 msgid "Show Hidden On" msgstr "顯示隱藏於" #: tabview.cpp:242 msgid "(No profile data file loaded)" msgstr "(沒有載入分析資料檔)" #: tabview.cpp:281 msgid "Types" msgstr "類型" #: tabview.cpp:284 msgid "Callers" msgstr "呼叫者" #: tabview.cpp:287 msgid "All Callers" msgstr "所有呼叫者" #: tabview.cpp:290 msgid "Caller Map" msgstr "呼叫者地圖" #: tabview.cpp:293 msgid "Source" msgstr "來源" #: tabview.cpp:297 msgid "Parts" msgstr "部件" #: tabview.cpp:300 msgid "Call Graph" msgstr "呼叫圖" #: tabview.cpp:303 msgid "Callees" msgstr "被呼叫者" #: tabview.cpp:306 msgid "All Callees" msgstr "所有被呼叫者" #: tabview.cpp:310 msgid "Callee Map" msgstr "被呼叫者地圖" #: tabview.cpp:553 msgid "" "Information Tabs

This widget shows information for the current " "selected function in different tabs:

  • The Costs tab shows a list of " "available event types and the inclusive and self costs regarding to these " "types.
  • The Parts tab shows a list of trace parts if the trace " "consists of more than one part (otherwise, this tab is hided). The cost of " "the selected function spent in the different parts together with the calls " "happening is shown.
  • The Call Lists tab shows direct callers and " "callees of the function in more detail.
  • The Coverage tab shows the " "same is the Call Lists tab, but not only direct callers and callees but also " "indirect ones.
  • The Call Graph tab shows a graphical visualization of " "the calls done by this function.
  • The Source tab presents annotated " "source code if debugging information and the source file is available.
  • The Assembler tab presents annotated assembler code if trace " "information on instruction level is available.
For more " "information, see the What's This? help of the corresponding tab " "widget

" msgstr "" "資訊分頁

本畫面以不同分頁顯示目前所選擇函數的資訊:

  • 「花費」" "分頁顯示可用的事件型態清單,以及它們的引入與自身花費。
  • 「部件」分頁在" "有一個以上的追蹤時顯示追蹤部件清單。(若只有一個則會隱藏此分頁。)也會顯示選" "取的函式在不同的部件,以及呼叫的花費。
  • 「呼叫清單」分頁顯示此函式內直" "接呼叫的函式,與直接呼叫此函式的函式詳情。
  • 「總體呼叫」分頁顯示的跟" "「呼叫清單」差不多,不過還包括間接呼叫。
  • 「呼叫圖」分頁顯示此函式與呼" "叫者之間的圖形關係。
  • 「源碼」分頁在除錯資訊與程式源碼檔可用時顯示源" "碼。
  • 「組合」分頁顯示追蹤資訊的機械碼。
更多詳情可以參考「這" "是什麼?」的說明元件。

" #: tabview.cpp:630 msgid "(No Data loaded)" msgstr "(沒有載入資料)" #: tabview.cpp:631 msgid "(No function selected)" msgstr "(沒有選取函式)" #: partselectionbase.ui:16 toplevel.cpp:276 toplevel.cpp:576 #, no-c-format msgid "Parts Overview" msgstr "部件概觀" #: toplevel.cpp:283 msgid "" "The Parts Overview

A trace consists of multiple trace parts when " "there are several profile data files from one profile run. The Trace Part " "Overview dockable shows these, horizontally ordered in execution time; the " "rectangle sizes are proportional to the total cost spent in the parts. You " "can select one or several parts to constrain all costs shown to these parts " "only.

The parts are further subdivided: there is a partitioning and an " "callee split mode:

  • Partitioning: You see the partitioning into " "groups for a trace part, according to the group type selected. E.g. if ELF " "object groups are selected, you see colored rectangles for each used ELF " "object (shared library or executable), sized according to the cost spent " "therein.
  • Callee: A rectangle showing the inclusive cost of the " "current selected function in the trace part is shown. This is split up into " "smaller rectangles to show the costs of its callees.

" msgstr "" "部件概觀

當某個分析檔中還有多個分析資料檔時,這份概觀可以看到所有的" "追蹤部件。追蹤部件概觀水平軸為執行時間,矩形大小與部件的總花費成比例。您可以" "選擇多個部件來顯示這些部件的總花費。

這些部件可以再更進一步細分:有分" "割模式與被呼叫者模式:

  • 分割模式(Partitioning):您可以看到追蹤部件" "被分割為多個群組,根據所選取的群組類型,例如選取了 ELF 物件群組,您可以看到每" "個被使用的 ELF 物件(分享函式庫或執行檔)都分別用彩色的矩形表示,矩形大小與花" "費成比例。
  • 被呼叫者(Callee)模式:顯示一個矩形,代表此追蹤部件裡目" "前所選取的函式的總花費。這裡面又分成小矩形,代表每個被呼叫者的花費。
  • " #: toplevel.cpp:313 msgid "Top Cost Call Stack" msgstr "頂端花費呼叫堆疊" #: toplevel.cpp:315 msgid "" "The Top Cost Call Stack

    This is a purely fictional 'most probable' " "call stack. It is built up by starting with the current selected function " "and adds the callers/callees with highest cost at the top and to bottom.

    The Cost and Calls columns show the cost used for all " "calls from the function in the line above.

    " msgstr "" "最高花費呼叫堆疊

    這只是純虛構的「最有可能的」呼叫堆疊。它是從目前選" "取的函式開始,針對每個呼叫者與被呼叫者的最高花費放到堆疊中。

    花費呼叫欄位顯示呼叫所使用的花費。

    " #: toplevel.cpp:328 msgid "Flat Profile" msgstr "簡單分析檔" #: toplevel.cpp:338 msgid "" "The Flat Profile

    The flat profile contains a group and a function " "selection list. The group list contains all groups where costs are spent in, " "depending on the chosen group type. The group list is hidden when group type " "'Function' is selected.

    The function list contains the functions of the " "selected group (or all for 'Function' group type), ordered by the costs " "spent therein. Functions with costs less than 1% are hidden on default.

    " msgstr "" "簡單分析檔

    簡單分析檔(Flat Profile)包含一個群組與函式選取清單。根" "據所選取的群組型態,群組清單包含了所有花費到的群組。若是群組型態選擇為「函" "式」則群組清單會被隱藏起來。

    函式清單則包含了所選取的群組的函式,(如" "果群組型態為「函式」則包含所有的函式),依花費排序。花費少於 1% 的則預設為隱" "藏。

    " #: dumpselectionbase.ui:16 toplevel.cpp:352 toplevel.cpp:604 #, no-c-format msgid "Profile Dumps" msgstr "分析檔傾印" #: toplevel.cpp:362 msgid "" "Profile Dumps

    This dockable shows in the top part the list of " "loadable profile dumps in all subdirectories of:

    • current working " "directory of KCachegrind, i.e. where it was started from, and
    • the " "default profile dump directory given in the configuration.
    The list is " "sorted according the the target command profiled in the corresponding dump.

    On selecting a profile dump, information for it is shown in the bottom " "area of the dockable:

    • Options allows you to view the profiled " "command and profile options of this dump. By changing any item, a new (yet " "unexisting) profile template is created. Press Run Profile to start " "aprofile run with these options in the background.
    • Info gives " "detailed info on the selected dump like event cost summary and properties of " "the simulated cache.
    • State is only available for current " "happening profiles runs. Press Update to see different counters of " "the run, and a stack trace of the current position in the program profiled. " "Check the Every option to let KCachegrind regularly poll these data. " "Check the Sync option to let the dockable activate the top function " "in the current loaded dump.

    " msgstr "" "分析檔傾印(Profile dump)

    這個嵌入元件的上半部顯示以下目錄及其子目" "錄中,可載入的分析檔傾印:

    • 目前 KCachegrind 的工作目錄;
    • 設定" "中所預設的分析檔傾印目錄。
    這個清單依據分析檔分析的指令排序。

    " "

    選取某個分析檔傾印,其資訊會顯示在此元件的下半部:

    • 選項讓您" "可以檢視此分析檔分析的指令,以及此傾印的分析檔選項。改變任何項目,新的分析檔" "樣本就會建立(但未儲存)。按下「執行分析檔」就會在背景開始用新的選項來執行分" "析檔。
    • 資訊為所選取的傾印的詳細資訊,包括事件花費概要,模擬的" "快取的屬性等。
    • 狀態只對目前執行中的分析檔有用。按下「更新」可" "以看執行中的計數器,程式堆疊目前的位置。檢查每一個選項,讓 KCachegrind 可以常" "規性地輪詢這些資料。檢查同步選項讓此元件同步。

    " #: toplevel.cpp:450 msgid "&Duplicate" msgstr "複製(&D)" #: toplevel.cpp:454 msgid "" "Duplicate Current Layout

    Make a copy of the current layout.

    " msgstr "複製目前的佈局

    複製目前的佈局。

    " #: toplevel.cpp:461 msgid "" "Remove Current Layout

    Delete current layout and make the previous " "active.

    " msgstr "移除目前的佈局

    刪除目前的佈局,並回到上一個。

    " #: toplevel.cpp:465 msgid "&Go to Next" msgstr "跳到下一個(&G)" #: toplevel.cpp:469 msgid "Go to Next Layout" msgstr "跳到下一個佈局" #: toplevel.cpp:472 msgid "&Go to Previous" msgstr "跳到上一個(&G)" #: toplevel.cpp:476 msgid "Go to Previous Layout" msgstr "跳到上一個佈局" #: toplevel.cpp:479 msgid "&Restore to Default" msgstr "還原預設值(&R)" #: toplevel.cpp:482 msgid "Restore Layouts to Default" msgstr "還原佈局預設值" #: toplevel.cpp:485 msgid "&Save as Default" msgstr "儲存為預設值(&S)" #: toplevel.cpp:488 msgid "Save Layouts as Default" msgstr "儲存佈局為預設值" #: toplevel.cpp:499 msgid "New

    Open new empty KCachegrind window.

    " msgstr "新增

    開啟新的空白 KCachegrind 視窗。

    " #: toplevel.cpp:502 msgid "&Add..." msgstr "新增(&A)..." #: toplevel.cpp:505 msgid "" "Add Profile Data

    This opens an additional profile data file in the " "current window.

    " msgstr "新增分析檔資料

    在目前視窗中開啟新的分析資料檔。

    " #: toplevel.cpp:517 msgid "Reload Profile Data

    This loads any new created parts, too.

    " msgstr "重新載入分析資料

    這也會載入任何新建立的部件。

    " #: toplevel.cpp:521 msgid "&Export Graph" msgstr "匯出圖形(&E)" #: toplevel.cpp:525 msgid "" "Export Call Graph

    Generates a file with extension .dot for the " "tools of the GraphViz package.

    " msgstr "" "匯出呼叫圖

    產生副檔名為 .dot 的 GraphViz 套件工具的檔案。

    " #: toplevel.cpp:531 msgid "&Force Dump" msgstr "強制傾印(&F)" #: toplevel.cpp:540 msgid "" "Force Dump

    This forces a dump for a Callgrind profile run in the " "current directory. This action is checked while KCachegrind looks for the " "dump. If the dump is finished, it automatically reloads the current trace. " "If this is the one from the running Callgrind, the new created trace part " "will be loaded, too.

    Force dump creates a file 'callgrind.cmd', and " "checks every second for its existence. A running Callgrind will detect this " "file, dump a trace part, and delete 'callgrind.cmd'. The deletion is " "detected by KCachegrind, and it does a Reload. If there's no " "Callgrind running, press 'Force Dump' again to cancel the dump request. This " "deletes 'callgrind.cmd' itself and stops polling for a new dump.

    Note: " "A Callgrind run only detects existence of 'callgrind.cmd' when " "actively running a few milliseconds, i.e. not sleeping. Tip: For a " "profiled GUI program, you can awake Callgrind e.g. by resizing a window of " "the program.

    " msgstr "" "強制傾印

    強制 Callgrind 執行分析檔傾印在目前的目錄中。當 " "KCachegrind 要尋找傾印時可以勾選此選項。傾印完成後,會自動重新載入目前的追" "蹤。如果是 Callgrind 傾印,則也會載入新建立的追蹤部件。

    強制傾印會建立" "一個叫做 callgrind.cmd 的檔案,並每秒鐘檢查其存在與否。執行中的 Callgrind 會" "偵測此檔,傾印追蹤部件,並刪除 callgrind.cmd 檔。KCachegrind 會偵測到刪除的動" "作,並做重新載入。如果沒有執行 Callgrind,再按一次「強制傾印」會取消傾印的要" "求。這會刪除 callgrind.cmd 檔並停止輪詢新的傾印。

    注意:Callgrind 執行" "時只會在實際執行的時間(只有幾毫秒)才會偵測 callgrind.cmd 檔的存在與否,休眠" "(Sleep)時並不會偵測。提示:若是使用者介面的程式分析檔,您可以用調整視窗大小" "來叫醒 Callgrind。

    " #: toplevel.cpp:565 msgid "" "Open Profile Data

    This opens a profile data file, with possible " "multiple parts

    " msgstr "開啟分析檔資料

    開啟分析檔資料。

    " #: toplevel.cpp:581 msgid "Show/Hide the Parts Overview Dockable" msgstr "顯示/隱藏部件概觀嵌入面板" #: toplevel.cpp:585 msgid "Call Stack" msgstr "呼叫堆疊" #: toplevel.cpp:590 msgid "Show/Hide the Call Stack Dockable" msgstr "顯示/隱藏呼叫堆疊嵌入面板" #: functionselectionbase.ui:16 toplevel.cpp:594 #, no-c-format msgid "Function Profile" msgstr "函式分析檔" #: toplevel.cpp:599 msgid "Show/Hide the Function Profile Dockable" msgstr "顯示/隱藏函式分析檔嵌入面板" #: toplevel.cpp:609 msgid "Show/Hide the Profile Dumps Dockable" msgstr "顯示/隱藏分析檔傾印嵌入面板" #: toplevel.cpp:614 msgid "Show Relative Costs" msgstr "顯示相對花費" #: toplevel.cpp:621 msgid "Show Absolute Costs" msgstr "顯示絕對花費" #: toplevel.cpp:624 msgid "Show relative instead of absolute costs" msgstr "顯示相對花費而非絕對花費" #: toplevel.cpp:628 msgid "Percentage Relative to Parent" msgstr "相對於父項目的百分比" #: toplevel.cpp:634 msgid "Show percentage costs relative to parent" msgstr "顯示相對於父項目的相關花費百分比" #: toplevel.cpp:638 msgid "" "Show percentage costs relative to parent

    If this is switched off, " "percentage costs are always shown relative to the total cost of the profile " "part(s) that are currently browsed. By turning on this option, percentage " "cost of shown cost items will be relative to the parent cost item." "

      Cost TypeParent Cost
      Function CumulativeTotal
      Function SelfFunction Group (*) / Total
      CallFunction " "Cumulative
      Source LineFunction Cumulative

      (*) Only if function grouping is switched on (e.g. ELF object " "grouping)." msgstr "" "顯示相對於父項目的相關花費百分比

      關閉此選項的話,則花費百分比是以相" "對於目前瀏覽的分析檔部件的總花費。開啟此選項,則此百分比是相對於父項目的相關" "花費。

        花費型態父項目花費
        函式" "累積總計
        函式本身函式群組(*) / 總計
        呼叫函式累積
        源碼行號函" "式累積

        (*):只有在打開函式群組時(例如 ELF 物件群" "組)

        " #: toplevel.cpp:653 msgid "Do Cycle Detection" msgstr "執行循環偵測" #: toplevel.cpp:659 msgid "Skip Cycle Detection" msgstr "略過循環偵測" #: toplevel.cpp:662 msgid "" "Detect recursive cycles

        If this is switched off, the treemap " "drawing will show black areas when a recursive call is made instead of " "drawing the recursion ad infinitum. Note that the size of black areas often " "will be wrong, as inside recursive cycles the cost of calls cannot be " "determined; the error is small, however, for false cycles (see " "documentation).

        The correct handling for cycles is to detect them and " "collapse all functions of a cycle into a virtual function, which is done " "when this option is selected. Unfortunately, with GUI applications, this " "often will lead to huge false cycles, making the analysis impossible; " "therefore, there is the option to switch this off." msgstr "" "偵測遞迴循環

        關閉此選項的話,樹狀圖會以黑色區域表示遞迴呼叫,而非無" "限制地畫遞迴。注意,黑色區域的大小通常會是錯的,因為遞迴循環時呼叫的花費無法" "立即決定。不過對假循環而言,這個問題並不大(請參考文件說明)。

        勾選此" "選項的話,會去偵測並展開所有的函式成為一虛擬函式,以便正確處理。不過,對使用" "者介面的應用程式來說,這會產生巨大的假循環,變得無法分析。因此,就必須關掉這" "個選項。

        " #: toplevel.cpp:684 toplevel.cpp:724 msgid "Go back in function selection history" msgstr "在函式選擇歷史中往後" #: toplevel.cpp:690 toplevel.cpp:736 msgid "Go forward in function selection history" msgstr "在函式選擇歷史中往前" #: toplevel.cpp:696 toplevel.cpp:710 msgid "" "Go Up

        Go to last selected caller of current function. If no caller " "was visited, use that with highest cost.

        " msgstr "" "往上

        到此函式最後一個選取的呼叫者。如果沒有,則使用最高花費。

        " #: toplevel.cpp:702 msgid "&Up" msgstr "向上(&U)" #: toplevel.cpp:741 toplevel.cpp:1646 msgid "Primary Event Type" msgstr "主要事件型態" #: toplevel.cpp:743 msgid "Select primary event type of costs" msgstr "選擇花費的主要事件型態" #: toplevel.cpp:753 toplevel.cpp:1649 msgid "Secondary Event Type" msgstr "次要事件型態" #: toplevel.cpp:755 msgid "Select secondary event type for cost e.g. shown in annotations" msgstr "選擇花費的次要事件型態。" #: toplevel.cpp:766 msgid "Select how functions are grouped into higher level cost items" msgstr "選擇函式要怎麼併入高階花費項目" #: toplevel.cpp:782 msgid "Split" msgstr "分割" #: toplevel.cpp:786 msgid "Show two information panels" msgstr "顯示兩個資訊面板" #: toplevel.cpp:790 #, fuzzy msgid "Split Horizontal" msgstr "水平分割" #: toplevel.cpp:795 #, fuzzy msgid "Change Split Orientation when main window is split." msgstr "主視窗分割時變更分割方向" #: toplevel.cpp:803 msgid "Tip of the &Day..." msgstr "每日提示(&D)..." #: toplevel.cpp:804 msgid "Show \"Tip of the Day\"" msgstr "顯示「每日提示」" #: toplevel.cpp:1007 toplevel.cpp:1056 msgid "" "cachegrind.out* callgrind.out*|Callgrind Profile Data\n" "*|All Files" msgstr "" "cachegrind.out* callgrind.out*|Callgrind 分析資料檔\n" "*|所有檔案" #: toplevel.cpp:1009 msgid "Select Callgrind Profile Data" msgstr "選擇 Callgrind 分析資料" #: toplevel.cpp:1058 msgid "Add Callgrind Profile Data" msgstr "新增 Callgrind 分析資料" #: toplevel.cpp:1216 toplevel.cpp:1569 msgid "(Hidden)" msgstr "(隱藏)" #: toplevel.cpp:1621 msgid "Hide" msgstr "隱藏" #: toplevel.cpp:1654 msgid "Show Absolute Cost" msgstr "顯示絕對花費" #: toplevel.cpp:1657 msgid "Show Relative Cost" msgstr "顯示相對花費" #: toplevel.cpp:1688 msgid "Go Forward" msgstr "往前" #: toplevel.cpp:1689 msgid "Go Up" msgstr "往上" #: toplevel.cpp:1921 #, c-format msgid "Layout Count: %1" msgstr "佈局計數:%1" #: toplevel.cpp:1928 msgid "No profile data file loaded." msgstr "沒有載入分析資料檔。" #: toplevel.cpp:1937 msgid "Total %1 Cost: %2" msgstr "總計 %1 花費:%2" #: toplevel.cpp:1949 msgid "No event type selected" msgstr "(沒有選擇事件型態)" #: toplevel.cpp:2194 toplevel.cpp:2230 toplevel.cpp:2266 msgid "(No Stack)" msgstr "(沒有堆疊)" #: toplevel.cpp:2200 msgid "(No next function)" msgstr "(沒有下一個函式)" #: toplevel.cpp:2236 msgid "(No previous function)" msgstr "(沒有前一個函式)" #: toplevel.cpp:2271 msgid "(No Function Up)" msgstr "(沒有函式往上)" #: tracedata.cpp:153 msgid "Abstract Item" msgstr "抽象項目" #: tracedata.cpp:154 msgid "Cost Item" msgstr "花費項目" #: tracedata.cpp:155 msgid "Part Source Line" msgstr "源碼行部件" #: tracedata.cpp:156 msgid "Source Line" msgstr "源碼行" #: tracedata.cpp:157 msgid "Part Line Call" msgstr "行呼叫部件" #: tracedata.cpp:158 msgid "Line Call" msgstr "行呼叫" #: tracedata.cpp:159 msgid "Part Jump" msgstr "跳躍部件" #: tracedata.cpp:160 msgid "Jump" msgstr "跳躍" #: tracedata.cpp:161 msgid "Part Instruction" msgstr "指令部件" #: tracedata.cpp:162 msgid "Instruction" msgstr "指令" #: tracedata.cpp:163 msgid "Part Instruction Jump" msgstr "指令跳躍部件" #: tracedata.cpp:164 msgid "Instruction Jump" msgstr "指令跳躍" #: tracedata.cpp:165 msgid "Part Instruction Call" msgstr "指令呼叫部件" #: tracedata.cpp:166 msgid "Instruction Call" msgstr "指令呼叫" #: tracedata.cpp:167 msgid "Part Call" msgstr "呼叫部件" #: tracedata.cpp:168 msgid "Call" msgstr "呼叫" #: tracedata.cpp:169 msgid "Part Function" msgstr "函式部件" #: tracedata.cpp:170 msgid "Function Source File" msgstr "函式源碼檔案" #: dumpselectionbase.ui:300 dumpselectionbase.ui:939 #: functionselectionbase.ui:136 stackselectionbase.ui:64 tracedata.cpp:171 #, no-c-format msgid "Function" msgstr "函式" #: tracedata.cpp:172 msgid "Function Cycle" msgstr "函式循環" #: tracedata.cpp:173 msgid "Part Class" msgstr "類別部件" #: tracedata.cpp:174 msgid "Class" msgstr "類別" #: tracedata.cpp:175 msgid "Part Source File" msgstr "程式源碼檔案部件" #: tracedata.cpp:176 msgid "Source File" msgstr "程式源碼檔案" #: tracedata.cpp:177 msgid "Part ELF Object" msgstr "ELF 物件部件" #: tracedata.cpp:178 msgid "ELF Object" msgstr "ELF 物件" #: tracedata.cpp:180 msgid "Program Trace" msgstr "程式追蹤" #: tracedata.cpp:241 msgid "%1 from %2" msgstr "%1 從 %2" #: tracedata.cpp:2583 msgid "(no caller)" msgstr "(無呼叫者)" #: tracedata.cpp:2590 tracedata.cpp:2609 msgid "%1 via %2" msgstr "%1 經過 %2" #: tracedata.cpp:2599 msgid "(no callee)" msgstr "(無被呼叫者)" #: tracedata.cpp:4467 msgid "(not found)" msgstr "(未找到)" #: tracedata.cpp:5017 msgid "Recalculating Function Cycles..." msgstr "重新計算函式循環..." #: traceitemview.cpp:53 msgid "No description available" msgstr "沒有可用的描述" #: treemap.cpp:1281 #, c-format msgid "Text %1" msgstr "文字 %1" #: treemap.cpp:2809 msgid "Recursive Bisection" msgstr "遞迴對切" #: treemap.cpp:2810 msgid "Columns" msgstr "欄" #: treemap.cpp:2811 msgid "Rows" msgstr "列" #: treemap.cpp:2812 msgid "Always Best" msgstr "永遠最好的" #: treemap.cpp:2813 msgid "Best" msgstr "最好的" #: treemap.cpp:2814 msgid "Alternate (V)" msgstr "替代(垂直)" #: treemap.cpp:2815 msgid "Alternate (H)" msgstr "替代(水平)" #: treemap.cpp:2872 msgid "Nesting" msgstr "巢狀" #: treemap.cpp:2875 msgid "Correct Borders Only" msgstr "只有正確的框線" #: treemap.cpp:2877 treemap.cpp:2878 treemap.cpp:2879 treemap.cpp:2880 #, c-format msgid "Width %1" msgstr "寬度 %1" #: treemap.cpp:2902 msgid "Visible" msgstr "可見的" #: treemap.cpp:2903 msgid "Take Space From Children" msgstr "由子系統取得空間" #: treemap.cpp:2905 msgid "Top Left" msgstr "左上方" #: treemap.cpp:2906 msgid "Top Center" msgstr "頂端中央" #: treemap.cpp:2907 msgid "Top Right" msgstr "右上方" #: treemap.cpp:2909 msgid "Bottom Center" msgstr "底端中央" #: treemap.cpp:2910 msgid "Bottom Right" msgstr "右下方" #: treemap.cpp:2987 msgid "No %1 Limit" msgstr "沒有 %1 限制" #: treemap.cpp:3056 treemap.cpp:3067 #, c-format msgid "" "_n: 1 Pixel\n" "%n Pixels" msgstr "%n 像素" #: treemap.cpp:3073 msgid "Halve Area Limit (to %1)" msgstr "將區域限制減半(到 %1)" #: treemap.cpp:3118 #, c-format msgid "Depth %1" msgstr "深度 %1" #: treemap.cpp:3122 msgid "Decrement (to %1)" msgstr "遞減(到 %1)" #: treemap.cpp:3124 msgid "Increment (to %1)" msgstr "遞增(到 %1)" #: configdlgbase.ui:37 #, no-c-format msgid "General" msgstr "一般" #: configdlgbase.ui:69 #, no-c-format msgid "Truncated when more/longer than:" msgstr "大於多少時截斷:" #: configdlgbase.ui:77 #, no-c-format msgid "Precision of percentage values:" msgstr "百分比數值的精確度:" #: configdlgbase.ui:85 #, no-c-format msgid "Symbols in tooltips and context menus" msgstr "在工具提示與內文選單中的符號" #: configdlgbase.ui:141 #, no-c-format msgid "Maximum number of items in lists:" msgstr "清單中最大項目數:" #: configdlgbase.ui:162 #, no-c-format msgid "Cost Item Colors" msgstr "花費項目顏色" #: configdlgbase.ui:254 #, no-c-format msgid "Object:" msgstr "物件:" #: configdlgbase.ui:262 #, no-c-format msgid "Class:" msgstr "類別:" #: configdlgbase.ui:310 #, no-c-format msgid "File:" msgstr "檔案:" #: configdlgbase.ui:376 #, no-c-format msgid "Annotations" msgstr "註記" #: configdlgbase.ui:395 #, no-c-format msgid "Context lines in annotations:" msgstr "註記裡的內容:" #: configdlgbase.ui:423 #, no-c-format msgid "Source Folders" msgstr "程式源碼資料夾" #: configdlgbase.ui:454 #, no-c-format msgid "Object / Related Source Base" msgstr "物件 / 相關來源基礎" #: configdlgbase.ui:483 #, no-c-format msgid "Add..." msgstr "新增..." #: dumpselectionbase.ui:32 #, no-c-format msgid "Target" msgstr "目標" #: dumpselectionbase.ui:54 #, no-c-format msgid "Time" msgstr "時間" #: dumpselectionbase.ui:65 #, no-c-format msgid "Path" msgstr "路徑" #: dumpselectionbase.ui:106 #, no-c-format msgid "Target command:" msgstr "目標命令:" #: dumpselectionbase.ui:119 #, no-c-format msgid "Profiler options:" msgstr "分析檔選項:" #: dumpselectionbase.ui:125 #, no-c-format msgid "Option" msgstr "選項" #: dumpselectionbase.ui:136 dumpselectionbase.ui:688 #, no-c-format msgid "Value" msgstr "數值" #: dumpselectionbase.ui:147 #, no-c-format msgid "Trace" msgstr "追蹤" #: dumpselectionbase.ui:160 dumpselectionbase.ui:768 #, no-c-format msgid "Jumps" msgstr "跳躍" #: dumpselectionbase.ui:174 #, no-c-format msgid "Instructions" msgstr "指令" #: dumpselectionbase.ui:189 dumpselectionbase.ui:783 #, no-c-format msgid "Events" msgstr "事件" #: dumpselectionbase.ui:202 #, no-c-format msgid "Full Cache" msgstr "完整快取" #: dumpselectionbase.ui:216 #, no-c-format msgid "Custom" msgstr "自訂" #: dumpselectionbase.ui:231 #, no-c-format msgid "Collect" msgstr "收集" #: dumpselectionbase.ui:244 #, no-c-format msgid "At Startup" msgstr "啟動時" #: dumpselectionbase.ui:258 #, no-c-format msgid "While In" msgstr "當在" #: dumpselectionbase.ui:273 #, no-c-format msgid "Skip" msgstr "略過" #: dumpselectionbase.ui:286 #, no-c-format msgid "PLT" msgstr "PLT" #: dumpselectionbase.ui:315 #, no-c-format msgid "Dump Profile" msgstr "傾印分析檔" #: dumpselectionbase.ui:328 #, no-c-format msgid "Every BBs" msgstr "每次 BB" #: dumpselectionbase.ui:342 dumpselectionbase.ui:384 #, no-c-format msgid "On Entering" msgstr "進入時" #: dumpselectionbase.ui:356 #, no-c-format msgid "On Leaving" msgstr "離開時" #: dumpselectionbase.ui:371 #, no-c-format msgid "Zero Events" msgstr "清空事件" #: dumpselectionbase.ui:399 #, no-c-format msgid "Separate" msgstr "分離" #: dumpselectionbase.ui:412 #, no-c-format msgid "Threads" msgstr "執行緒" #: dumpselectionbase.ui:426 #, no-c-format msgid "Recursions" msgstr "遞迴" #: dumpselectionbase.ui:440 #, no-c-format msgid "Call Chain" msgstr "呼叫鍊" #: dumpselectionbase.ui:470 #, no-c-format msgid "Custom profiler options:" msgstr "自訂分析器選項:" #: dumpselectionbase.ui:508 #, no-c-format msgid "Run New Profile" msgstr "執行新分析檔" #: dumpselectionbase.ui:520 #, no-c-format msgid "Info" msgstr "資訊" #: dumpselectionbase.ui:531 #, no-c-format msgid "Dump reason:" msgstr "傾印理由:" #: dumpselectionbase.ui:544 #, no-c-format msgid "Event summary:" msgstr "事件摘要:" #: dumpselectionbase.ui:561 #, no-c-format msgid "Sum" msgstr "總計" #: dumpselectionbase.ui:579 #, no-c-format msgid "Miscellaneous:" msgstr "其他:" #: dumpselectionbase.ui:617 #, no-c-format msgid "Show" msgstr "顯示" #: dumpselectionbase.ui:625 #, no-c-format msgid "Compare" msgstr "比較" #: dumpselectionbase.ui:637 #, no-c-format msgid "State" msgstr "狀態" #: dumpselectionbase.ui:656 #, no-c-format msgid "Update" msgstr "更新" #: dumpselectionbase.ui:664 #, no-c-format msgid "Every [s]:" msgstr "間隔(秒):" #: dumpselectionbase.ui:677 #, no-c-format msgid "Counter" msgstr "計數器" #: dumpselectionbase.ui:699 #, no-c-format msgid "Dumps Done" msgstr "傾印完成" #: dumpselectionbase.ui:713 #, no-c-format msgid "Is Collecting" msgstr "收集中" #: dumpselectionbase.ui:727 #, no-c-format msgid "Executed" msgstr "已執行" #: dumpselectionbase.ui:740 #, no-c-format msgid "Basic Blocks" msgstr "基本區塊" #: dumpselectionbase.ui:796 #, no-c-format msgid "Ir" msgstr "Ir" #: dumpselectionbase.ui:811 #, no-c-format msgid "Distinct" msgstr "不同" #: dumpselectionbase.ui:838 #, no-c-format msgid "Functions" msgstr "函式" #: dumpselectionbase.ui:852 #, no-c-format msgid "Contexts" msgstr "內文" #: dumpselectionbase.ui:890 #, no-c-format msgid "Stack trace:" msgstr "堆疊追蹤:" #: dumpselectionbase.ui:898 #, no-c-format msgid "Sync." msgstr "同步" #: dumpselectionbase.ui:976 #, no-c-format msgid "Start" msgstr "開始" #: dumpselectionbase.ui:1001 #, no-c-format msgid "Zero" msgstr "歸零" #: dumpselectionbase.ui:1009 #, no-c-format msgid "Dump" msgstr "傾印" #: dumpselectionbase.ui:1021 #, no-c-format msgid "Messages" msgstr "訊息" #: dumpselectionbase.ui:1045 #, no-c-format msgid "Kill Run" msgstr "終止執行" #: functionselectionbase.ui:41 #, no-c-format msgid "&Search:" msgstr "搜尋(&S):" #: functionselectionbase.ui:73 #, no-c-format msgid "Group" msgstr "群組" #: partselectionbase.ui:60 #, no-c-format msgid "(no trace parts)" msgstr "(無追蹤部件)" #: stackselectionbase.ui:16 #, no-c-format msgid "Stack Selection" msgstr "堆疊選擇" #: stackselectionbase.ui:42 #, no-c-format msgid "Cost2" msgstr "花費2" #: tdecachegrindui.rc:15 #, no-c-format msgid "&Layout" msgstr "佈局(&L)" #: tdecachegrindui.rc:32 #, no-c-format msgid "Sidebars" msgstr "邊列" #: tdecachegrindui.rc:54 #, no-c-format msgid "State Toolbar" msgstr "狀態工具列" #: tips:3 msgid "" "

        ...that the What's This? help for every GUI widget\n" "in KCachegrind contains detailed usage information for this widget?\n" "It is highly recommended to read at least these help texts on first\n" "use. Request What's This? help by pressing\n" "Shift+F1 and clicking on the widget.

        \n" msgstr "" "

        每個使用者介面元件中的「這是什麼?」說明內含了此元件的詳細用法資訊。建議第" "一次使用時先閱讀它。您以可以按 Shift+F1 叫出。

        \n" #: tips:13 msgid "" "

        ...that you can get profile information at instruction level\n" "with Calltree when you provide the option --dump-instr=yes?\n" "Use the Assembler View for the instruction annotations.\n" "

        \n" msgstr "" "

        若您提供這個選項:--dump-instr=yes,您可以在呼叫樹模式取得指令層" "級的分析檔資訊。\n" "用「組譯器檢視」取得指令的註記。

        \n" #: tips:22 msgid "" "

        ...that you can use Alt-Left/Right keys of your keyboard to go\n" "back/forward in the active object history ?

        \n" msgstr "

        您可以用 Alt 加上左右鍵來在目前的物件歷史中往返。

        \n" #: tips:29 msgid "" "

        ...that you can navigate in the Callee/Caller Map View using\n" "arrow keys? Use Left/Right to change to siblings of the current\n" "item; use Up/Down to go one nesting level up/down. To select\n" "the current item, press Space, and to activate it, press Return.\n" "

        \n" msgstr "" "

        您可以用方向鍵在呼叫者/被呼叫者地圖中導覽。用左右鍵來跳到相鄰的節點,上下" "鍵則在不同的巢狀等級間來回。要選取目前的項目,您可以按空白鍵,按下 Enter 鍵則" "是啟用。

        \n" #: tips:39 msgid "" "

        ...that you can navigate in the Call Graph View using\n" "arrow keys? Use Up/Down to go one calling level up/down, alternating\n" "between calls and functions. Use Left/Right to change to siblings of a " "current\n" "selected call. To activate the current item, press Return.\n" "

        \n" msgstr "" "

        您可以用方向鍵在呼叫圖檢視中導覽。用左右鍵來跳到與目前選取的呼叫相鄰的節" "點,上下鍵則在不同的呼叫等級間來回,切換呼叫函式。按下 Enter 鍵則是啟用目前的" "項目。

        \n" #: tips:49 msgid "" "

        ...that you can rapidly locate a function by entering part of its\n" "name (case-insensitive) into the edit line of the toolbar\n" "and hit return?

        \n" msgstr "" "

        您可以在工具列的編輯欄中輸入某函式的部份名稱(不分大小寫),再按下 Enter " "鍵就可以快速找到該函式的位置。

        \n" #: tips:57 msgid "" "

        ...that you can assign custom colors to \n" "ELF objects/C++ Classes/Source Files for graph coloring\n" "in Settings->Configure KCachegrind...?

        \n" msgstr "" "

        您可以指定自訂的顏色給圖形中的 ELF 物件、C++ 類別或源碼檔。您只要在「設" "定」─「設定 KCachegrind...」中設定即可。

        \n" #: tips:65 msgid "" "

        ...that you can see if debug info is available for a selected \n" "function by looking at the location label in the Info tab or\n" "the source listing header in the source tab?

        \n" "

        There must be the name of the source file (with extension).\n" "If KCachegrind still doesn't show the source, make sure that you\n" "have added the directory of the source file to the\n" "Source Directories list in the configuration.\n" msgstr "" "

        如果有提供除錯資訊的話,您可以在資訊分頁中的「位置」標籤處,或是源碼分頁處" "的源碼標頭處看到所選取函式的除錯資訊。

        \n" "

        必須要有源碼檔的檔名(包括副檔名)。如果 KCachegrind 還是沒有顯示源碼,請" "確定您已將源碼檔所在的路徑加到設定中的「源碼目錄」清單中。

        \n" #: tips:77 msgid "" "

        ...that you can configure whether KCachgrind should\n" "show absolute event counts or relative ones (percentage display)?

        \n" msgstr "" "

        您可以設定是否要讓 KCachegrind 顯示絕對事件計數或相對事件計數(以百分比顯" "示)。

        \n" #: tips:84 msgid "" "

        ...that you can configure the maximum number of items\n" "for all function lists in KCachegrind? Limiting the number\n" "of items is done to get a fast reacting GUI. The last item in\n" "the list will show you the number of skipped functions, together\n" "with a cost condition for these skipped functions.

        \n" "

        To activate a function with small costs, search for it and select\n" "it in the flat profile. Selecting functions with small cost will\n" "temporarily add them to the flat profile list.

        \n" msgstr "" "

        您可以在 KCachegrind 中設定所有函式清單中的最大顯示數目。這樣的話,清單中" "的最後一個項目會顯示出還有多少函式未顯示出來,以及這些未顯示函式的花費。\n" "

        要啟動較少花費的函式,您可以搜尋並在簡單分析檔中選取。這樣會暫時新增到簡單" "分析檔清單中。

        \n" #: tips:97 msgid "" "

        ...that the Coverage tab - in contrast to the Call Lists tab -\n" "shows all functions that are calling the selected function\n" "(upper part) / are called by the selected function (bottom part),\n" "no matter how many function are between them on the stack?

        \n" "

        Examples:

        \n" "

        An entry in the upper list for function foo1() with a value of 50%\n" "with function bar() selected means that 50% of all the cost of function\n" "bar() happened while called from function foo1().

        \n" "

        An entry in the bottom list for function foo2() with a value of 50%\n" "with function bar() selected means that 50% of all the cost of function\n" "bar() happened while calling foo2() from bar().

        \n" msgstr "" "

        「總體呼叫頁」顯示的是呼叫選取的函式的所有函式(上半部),以及被選取的函式" "呼叫的函式(下半部),包括直接與間接呼叫。

        \n" "

        例如:

        \n" "

        選取函式 bar(),上半部清單中的函式 foo1() 數值 50% 表示從 foo1() 呼叫 " "bar() 時的花費佔全部花費的 50%。

        \n" "

        下半部清單中的函式 foo2() 數值 50% 表示 bar() 呼叫 foo2() 時的花費佔全部花" "費的 50%。

        \n" #: tips:113 msgid "" "

        ...that waiting for the tool tip inside of a tree map\n" "shows the list of names of the nested rectangles the mouse\n" "pointer is over?

        \n" "

        Items from this list can be selected by pressing the right\n" "mouse button.

        \n" msgstr "" "

        滑鼠指標指在樹狀地圖中上頭時稍等一下,會跑出逼個工具提示,裡面會顯示巢狀矩" "形的名稱清單。

        \n" "

        清單中的項目可以用滑鼠右鍵選取。

        \n" #: tips:123 msgid "" "

        ...that you can constrain the cost counts shown to only a\n" "few parts of the whole trace by selecting these parts in the\n" "\"Trace Selection\" Dockable?

        \n" "

        To generate multiple parts in a profiling run with\n" "cachegrind, use e.g. option --cachedumps=xxx for parts\n" "of a length of xxx basic blocks (A basic block is a run\n" "of not-branching assembler statements inside of your program\n" "code).

        \n" msgstr "" "

        您可以限制只顯示一小部份部件的花費計數,只要在「追蹤選擇」元件中選取這些部" "件即可。

        \n" "

        要在 cachegrind 的分析執行中產生多個部件,可以用像這樣的選項:--" "cachedumps=xxx 表示 xxx 個基本區塊。(基本區塊是在您的程式碼中不分支的組譯敘" "述)。

        \n" #, fuzzy #~ msgid "Top" #~ msgstr "左上方" #, fuzzy #~ msgid "Right" #~ msgstr "右上方" #, fuzzy #~ msgid "Bottom" #~ msgstr "左下方" #, fuzzy #~ msgid "Horizontal" #~ msgstr "水平分割" #, fuzzy #~ msgid "Border" #~ msgstr "邊框 0" #, fuzzy #~ msgid "Configuration" #~ msgstr "KCachegrind 設定" #, fuzzy #~ msgid "Options" #~ msgstr "選項" #, fuzzy #~ msgid "&File" #~ msgstr "檔案:" #, fuzzy #~ msgid "Main Toolbar" #~ msgstr "狀態工具列"