调试错误:“当前位置没有可用的源代码”

时间:2011-02-02 11:04:25

标签: c# visual-studio-2008 debugging

我已经调试了一段时间了。下面的代码是抽象类的一部分,this.initialize()是一个被子类重写的抽象方法。在子类中更改Initizalize后,我在调试时收到错误“当前位置没有可用的源代码”。弹出此方法的对话框,所以我怀疑这是问题的原因。有什么想法吗?

public ExternalSystemAdapterClass(ArchiveServiceConfigurationHandler archiveServiceConfigurationHandler, SystemType adapterConfiguration)
        {
            // Init configs...
            this.archiveServiceConfigurationHandler = archiveServiceConfigurationHandler;
            this.adapterConfiguration = adapterConfiguration;
            this.dbProviderFactory = DalFactory.GetFactory(this.adapterConfiguration);

            sqlDalExternal = new SqlCommonDAL(this.adapterConfiguration.DatabaseInformation.ExternalDatabaseInformation.connectionString, this.dbProviderFactory);

            // Init validations...
            this.metaDataValidationsSP = new Collection<MetaDataValidationType>();
            this.metaDataValidationsBL = new Collection<MetaDataValidationType>();
            this.InitializeMetaDataValidations();

            // Init (clean up unfinished jobs etc.)
            this.Initialize(); // DEBUG ERROR: "No Source Code Available for the Current Location"

            // Init data retrieval...
            this.dataResponseQueue = new Queue<ExternalSystemDataResponse>();
            this.alreadyProcessedDataTable = new DataTable();
            this.doRun = true;
            this.externalDataRetrievalThread = new Thread(ExternalDataRetrievalThreadMethod);
            this.externalDataRetrievalThread.Start();
        }

1 个答案:

答案 0 :(得分:1)

你能否告诉我们你的代码是否至少有效,即使不可调试?

我想到的第一个想法是你的Initialize方法应该被声明为virtual。为了进一步帮助您,您应该告诉我们代码是否有效,并提供一些子类代码部分。