I've used ButtonAttribute on a method, then changed some values of the struct, but GUI on inspector didn't change at all. Then I looked into the source to find the reason. I found it throw an ExitGUIException in the code: DefaultMethodDrawer.cs - line 369. I don't know what does it mean，but as long as I comment it, everything seems to be all right.
Issue #402 resolved