How to list (dump) context content in debug purposes?
Via Context.copy()
Conveniently there is a copy() method that returns context as a dictionary.
&gt;&gt;&gt; print(C)
&lt;bpy_struct, Context at 0x7f771bd250c8&gt;

&gt;&gt;&gt; c = C.copy()
&gt;&gt;&gt; for k, v in c.items():
...     k, v
...     
('active_annotation_layer', None)
('active_bone', None)
('active_editable_fcurve', None)
('active_gpencil_frame', None)
('active_gpencil_layer', None)
('active_object', bpy.data.objects['Text'])
('active_operator', &lt;bpy_struct, Operator(&quot;TEXT_OT_run_script&quot;) at 0x7f771304bd88&gt;)
('active_pose_bone', None)

etcetera, etcetera

('visible_objects', [bpy.data.objects['Lamp'], bpy.data.objects['Camera'], bpy.data.objects['Text']])
('visible_pose_bones', None)
('weight_paint_object', None)
('window', bpy.data.scenes['Scene']...Window)
('window_manager', bpy.data.window_managers['WinMan'])
('workspace', bpy.data.workspaces['Scripting'])