如何針對 IronPrint 提交工程支援請求
Curtis Chau
Updated: 2026年4月22日
感謝您撥冗協助我們改進 IronPrint,並協助解決您可能遇到的任何問題。 我們絕大多數的功能與更新皆源自客戶需求,我們將軟體開發視為客戶與開發人員之間的一場雙向對話。
為提供有效的技術支援,我們的工程團隊需要能高效重現問題並建立回歸測試。 我們遇到的問題大多與特定平台或執行環境相關,因此需要非常簡潔的資訊。
請將所有支援請求寄送至 support@ironsoftware.com.
對問題的簡明清晰描述
一份優質的技術報告必須包含足夠的資訊,以便重現該問題。 請設想您正在向同事回報此問題,或將其發佈在 Stack Overflow 上。
錯誤報告應包含:
- 請清楚描述您遇到的問題症狀,以及您對其成因的任何想法。
- 日誌檔案(詳見下文)
- 環境:IronPrint 版本、作業系統及 .NET 執行環境版本(如有,請註明確切的雲端環境)
請盡可能提供以下資訊,以便優先處理您的請求:
- 一個能完整重現此問題的範例專案
- 採用 Stack Overflow 風格的程式碼片段(請勿截圖顯示程式碼)
- 症狀/例外狀況的螢幕截圖
- 例外訊息文字(例外 + 內層例外)
- 程式碼中導致程式停止運作或退出的具體除錯點
- 輸入參數與素材:圖片及 PDF
如何附加範例專案
一個能精確複製整個問題並獨立存在的範例專案,可讓我們的工程師簡單且迅速地識別並理解該問題。
這是 可重現性的黃金標準,通常能讓支援請求優先處理。
我們偏好的格式為ZIP檔,內容應為一個簡單的獨立 .NET 控制台或網頁應用程式專案:
- 傳送 Google 雲端硬碟或 Dropbox 連結時,請啟用完整分享權限。
- 無需包含 Bin 資料夾,因其會增加 ZIP 檔案的大小。
請一併包含:
- 輸入檔案(可運作與不可運作),包含 PDF 及圖像檔案。
// Example of how to capture exceptions and log them
using System;
namespace IronPrintSupportRequest
{
class Program
{
static void Main(string[] args)
{
try
{
// Simulate a part of your process where an exception might occur
ProcessIronPrintJob();
}
catch (Exception ex)
{
// Log the exception details
Console.WriteLine("An error occurred:");
Console.WriteLine($"Message: {ex.Message}");
Console.WriteLine($"Stack Trace: {ex.StackTrace}");
// If there's an inner exception, log that as well
if (ex.InnerException != null)
{
Console.WriteLine("Inner Exception:");
Console.WriteLine($"Message: {ex.InnerException.Message}");
Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}");
}
}
}
static void ProcessIronPrintJob()
{
// Simulate a function that may throw an exception
throw new InvalidOperationException("Simulated exception for demonstration purposes.");
}
}
}' Example of how to capture exceptions and log them
Imports System
Namespace IronPrintSupportRequest
Class Program
Shared Sub Main(ByVal args As String())
Try
' Simulate a part of your process where an exception might occur
ProcessIronPrintJob()
Catch ex As Exception
' Log the exception details
Console.WriteLine("An error occurred:")
Console.WriteLine($"Message: {ex.Message}")
Console.WriteLine($"Stack Trace: {ex.StackTrace}")
' If there's an inner exception, log that as well
If ex.InnerException IsNot Nothing Then
Console.WriteLine("Inner Exception:")
Console.WriteLine($"Message: {ex.InnerException.Message}")
Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}")
End If
End Try
End Sub
Shared Sub ProcessIronPrintJob()
' Simulate a function that may throw an exception
Throw New InvalidOperationException("Simulated exception for demonstration purposes.")
End Sub
End Class
End Namespace' Example of how to capture exceptions and log them
Imports System
Namespace IronPrintSupportRequest
Class Program
Shared Sub Main(ByVal args As String())
Try
' Simulate a part of your process where an exception might occur
ProcessIronPrintJob()
Catch ex As Exception
' Log the exception details
Console.WriteLine("An error occurred:")
Console.WriteLine($"Message: {ex.Message}")
Console.WriteLine($"Stack Trace: {ex.StackTrace}")
' If there's an inner exception, log that as well
If ex.InnerException IsNot Nothing Then
Console.WriteLine("Inner Exception:")
Console.WriteLine($"Message: {ex.InnerException.Message}")
Console.WriteLine($"Stack Trace: {ex.InnerException.StackTrace}")
End If
End Try
End Sub
Shared Sub ProcessIronPrintJob()
' Simulate a function that may throw an exception
Throw New InvalidOperationException("Simulated exception for demonstration purposes.")
End Sub
End Class
End Namespace- 此程式碼區塊說明如何在 .NET 應用程式中處理例外狀況。
- 它會將主要例外狀況以及任何內部例外狀況記錄至控制台,這對於除錯而言相當有用。
Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。