Possible as long as you logged which file the module came from, what
name is was loaded under and when modules were removed. Something like
loaded module /lib/modules/2.1.55/net/dummy.o as dummy3 at 0xc1234567
....
deleted module dummy2
And hope that you do not lose any log messages. Either way you still
have to go to the raw module .o file to get the full symbol map, it is
the only place that lists static procs.
Using the full /proc/ksyms gave me the extra benefit of checking ksyms
against the supplied map and modules to ensure they matched. You would
loose this ability with simple log entries. I think the best option is
regular and/or exception capture of /proc/ksyms to an external file.