IronPrint 엔지니어링 지원 요청 방법
IronPrint 개선 및 발생할 수 있는 문제 해결에 도움을 주셔서 감사합니다. 저희 기능 및 업데이트의 대부분은 고객 요청에 따라 이루어지며, 소프트웨어 개발은 고객과 개발자 간의 양방향 소통이라고 생각합니다.
효과적인 지원을 제공하기 위해 엔지니어링 팀은 문제를 효율적으로 재현하고 회귀 테스트를 작성해야 합니다. 우리가 접하는 대부분의 문제는 플랫폼이나 런타임과 관련된 문제이므로 매우 간결한 정보가 필요합니다.
모든 지원 요청은 다음 주소로 보내주시기 바랍니다.support@ironsoftware.com .
문제에 대한 간결하고 명확한 설명
훌륭한 기술 보고서에는 문제를 재현할 수 있는 충분한 정보가 포함되어야 합니다. 동료에게 문제를 보고하거나 스택오버플로우에 질문을 올린다고 상상해 보세요.
버그 보고서에는 다음 내용이 포함되어야 합니다.
- 경험하신 증상에 대한 명확한 설명과 그 원인에 대한 의견이 있으시면 알려주세요.
- 로그 파일(아래 참조)
- 환경: IronPrint 버전, 운영 체제 및 .NET 런타임 버전 (클라우드 환경인 경우 정확한 정보)
티켓 처리를 우선적으로 진행하기 위해 다음 사항들을 최대한 많이 포함해 주세요:
- 문제를 완벽하게 재현하는 예제 프로젝트
- 스택오버플로우 스타일의 코드 조각 (코드 스크린샷은 올리지 마세요)
- 증상/예외 사항 스크린샷
- 예외 메시지 텍스트 (예외 + 내부 예외)
- 코드에서 프로세스가 작동을 멈추거나 종료되는 특정 디버깅 지점
- 입력 매개변수 및 자산: 이미지 및 PDF
예제 프로젝트를 첨부하는 방법
문제를 정확하게 재현하는 예제 프로젝트를 통해 엔지니어들은 문제를 간단하고 신속하게 파악하고 이해할 수 있습니다.
이는 재현성을 위한 '최고의 기준'이며, 일반적으로 지원 요청이 최상위 담당자에게 신속하게 전달되도록 합니다.
저희가 선호하는 형식은 압축된 간단한 독립형 .NET 콘솔 또는 웹 앱 프로젝트입니다.
- Google Drive 또는 Dropbox 링크를 보낼 때는 전체 공유 기능을 활성화해 주세요.
- Bin 폴더는 압축 파일 크기를 증가시키므로 포함하지 않아도 됩니다.
다음 사항도 포함해 주세요:
- 입력 파일(작업 파일 및 비작업 파일 포함), 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
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
Friend 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
Private 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 애플리케이션에서 예외를 처리하는 방법을 보여줍니다.
- 이 기능은 주요 예외뿐만 아니라 내부 예외도 콘솔에 기록하므로 디버깅에 유용할 수 있습니다.

