Question

I'm working on a new CIL target, and I'm not very sure on how to deal with debugging information. I'm implementing a PE writer myself - so it's not depending on ilasm . From what I've seen in the ECMA documentation, there's the CILDB debugging format - but it's different from both PDB and Mono's MDB. So it seems that if I want to include debugging information, I'd need to compile with ilasm anyway (and use .line directives).

However, even if I do compile with ilasm, it seems to me that .line directives won't be enough to include enough debugging information for full debugging capabilities - for example, how would the debugger know the mapping between my target's identifiers and local variables? It seems to me that the best way to deal with that is to only support Mono's open debugging format - which would be a pity.

Does anyone have any resource about this?

Was it helpful?

Solution

Answering my own question, I found that Cecil has both PDB and MDB readers/writers at https://github.com/jbevain/cecil/tree/master/symbols . I'll port them, and seems like a good way to deal with them.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top