Anyone got any experience debugging a kernel module?
Here's a link to the Gentoo forums where I started this fiasco: https://forums.gentoo.org/viewtopic-p-8042948.html (also contains the patch I created to make the drivers compatible with kernel 4.7+... ah crap, just realized I need to update that patch, as I missed one syscall. I need to just stuff the patch into github, I suppose)
Long story short, HighPoint RocketRAID 2680, open source drivers, development stopped after ~kernel 3.10, yadda yadda.
I patched the drivers, drivers claim can't detect the driver, I've got a single function that's called (hpt_detect) during the load that I'm trying to step through.
I built the module with symbols, I can gdb the .ko, and thought I'd hit the breakpoint by loading the module in a separate ssh session, but gdb just stared at me like a happy drunken fool.
I'm a .NET dev, mainly. I do remote debugging with VS all the time, but this is my first foray into *nix kernel debugging, so I'm entirely out of my element.
Hoping someone here might have a *ptr to help me out
Here's a link to the Gentoo forums where I started this fiasco: https://forums.gentoo.org/viewtopic-p-8042948.html (also contains the patch I created to make the drivers compatible with kernel 4.7+... ah crap, just realized I need to update that patch, as I missed one syscall. I need to just stuff the patch into github, I suppose)
Long story short, HighPoint RocketRAID 2680, open source drivers, development stopped after ~kernel 3.10, yadda yadda.
I patched the drivers, drivers claim can't detect the driver, I've got a single function that's called (hpt_detect) during the load that I'm trying to step through.
I built the module with symbols, I can gdb the .ko, and thought I'd hit the breakpoint by loading the module in a separate ssh session, but gdb just stared at me like a happy drunken fool.
I'm a .NET dev, mainly. I do remote debugging with VS all the time, but this is my first foray into *nix kernel debugging, so I'm entirely out of my element.
Hoping someone here might have a *ptr to help me out