我正在修改的Visual Studio 2008(實際稱爲BIDS)中執行c#腳本(在SSIS中是一個ETL工具)。我收到一個錯誤消息,但是錯誤消息不讓我追蹤導致錯誤的行。如何找出哪條線路導致問題。如何查找在C#代碼中導致錯誤的確切行?
我試過使用,試着抓住我的SSIS包運行沒有錯誤。但是,當我刪除try catch時,程序包執行會顯示錯誤。無論如何,所有關於SSIS的討論並不是真的需要。它的錯誤/異常捕捉在這裏很重要。
try
{
//my code here
}
catch (Exception e)
{
Console.WriteLine("{0} Exception caught.", e);
}
錯誤信息在下面給出 -
Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at ST_LongCodeNameHere.csproj.ScriptMain.Main()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
您是否處於調試模式? –
有沒有辦法逐行通過代碼每行? – Marco
如果你在VS中處於調試模式,你可以啓用菜單Debug下的所有異常。 –