Я использую Intellij IDEA. Как мне «просмотреть исходный код» для стека трассировки xerces, который используется scala.xml? - PullRequest
1 голос
/ 24 июня 2011

Мне нужно отладить проект, который использует scala.xml из Scala 2.8.1. У меня есть ошибка, связанная со следующей трассировкой стека (нерелевантные части опущены):

    --- more xerces stacktrace lines ---
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
    at scala.xml.factory.XMLLoader$class.loadXML(XMLLoader.scala:40)
    at scala.xml.XML$.loadXML(XML.scala:40)
    at scala.xml.factory.XMLLoader$class.loadString(XMLLoader.scala:59)
    at scala.xml.XML$.loadString(XML.scala:40)
    at pt.cnbc.wikimodels.util.SBMLHandler.wrapHTML(SBMLHandler.scala:99)

Я использую Intellij IDEA и хочу щелкнуть строку трассировки стека и перейти к источнику даже в тех строках, которые в настоящее время говорят «Неизвестный источник».

Обратите внимание, что:

  • допустимый (и большой) XML-файл с ошибкой
  • Я вызываю XML.loadString только после получения содержимого файла
  • Я не против сделать что-то, что ускользает от царства IDEA, если у вас есть другая «идея». :)

Ответы [ 2 ]

3 голосов
/ 24 июня 2011

Строки с надписью Unknown Sources поступают из файлов, в которых отсутствует отладочная информация.В этом случае Xerces.IntelliJ не имеет к этому никакого отношения.Что вы могли бы сделать (но я не пробовал), так это получить исходные коды для Xerces и перекомпилировать их, убедившись, что в них включена отладочная информация.Затем используйте полученную банку в вашем пути к классам.

0 голосов
/ 24 июня 2011

Ошибка произошла глубоко внутри Xerces. Если вы хотите изучить исходный код, в котором произошел сбой, вам необходимо установить исходный код Xerces и сообщить IntelliJ, где его найти, указав его в исходном пути.

(Я бы не был уверен, что это правильная стратегия для решения вашей проблемы, но это зависит от вас.)

...